問題タブ [bsd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
3402 参照

c - C用のライブラリの良いコレクション?

ANSI-C用のライブラリ、ベクトル、ハッシュマップ、バイナリトレス、文字列処理などを処理するためのライブラリの優れたコレクションを探しています。

0 投票する
1 に答える
2572 参照

macos - Mac OS X でデバイスの BSD 番号を取得する方法はありますか?

/dev/rdisk0私のプログラムは入力からのようにデバイス パスを読み取りIOKit、BSD 名のディスクを探しdisk0ます。このために/dev/r、パスから削除する必要があります。

このパスをハードコーディングすると、Mac OS X の将来のバージョンで壊れる可能性があります。したがって、別の方法を考えIOServiceました。デバイスの BSD メジャーおよびマイナー バージョンを使用して一致させることができます。

これが私の質問です:パスから BSD のマイナー番号とメジャー番号を抽出することは可能ですか?

0 投票する
4 に答える
902 参照

sockets - 一般的なソケット UDP プログラミングの質問

コードが通信する必要がある FPGA デバイスがあります。プロトコルは次のとおりです。

ゼロ以外のバイト (UDP) を 1 つ送信して、機能を有効にします。次に、FPGA ボードは、送信元のポートでデータを吐き出し始めます。

私のジレンマがわかりますか?メッセージを送信したポートはわかっていますが、どのポートから送信したかはわかりません(通常、このポートは OS によって自動的に選択されませんか?)。

私がやるべきことについての私の最善の推測は、宛先IPとポート番号でソケットを作成し、ソケットを再利用して受信することです。その場合、元のメッセージを送信したポートでリッスンするように既に設定されていますか?

また、参考までに、このコードのバリエーションは Python と C# で記述されます。どちらも BSD ソケット モデルに従っているため、特定の API を調べることができます。

0 投票する
2 に答える
5298 参照

unix - ダーウィン:子を殺さずに親プロセスを殺す方法は?

OS X 10.4/5/6 の場合:

子を生成する親プロセスがあります。子供を殺さずに親を殺したい。出来ますか?どちらのアプリでもソースを変更できます。

0 投票する
4 に答える
2923 参照

unix - UNIXの「comm」ユーティリティでは、BSDでは大文字と小文字を区別できませんが、Linuxでは大文字と小文字を区別できません(-iフラグを使用)。Linuxでどうやって入手できますか?

BSDプラットフォーム(OSX)で開発したアプリケーションで、優れたUNIXの「comm」コマンドラインユーティリティを使用しています。Linux実稼働サーバーにデプロイしたとき、悲しいことに、Ubuntu Linuxの「comm」ユーティリティは、行を大文字と小文字を区別せずに比較する必要があることを示すために-iフラグを取りません。どうやらPOSIX標準は-iオプションを必要としません。

だから...私は拘束されています。BSDで非常にうまく機能する-iオプションが本当に必要です。LinuxボックスでBSDcomm.cソースコードをコンパイルしようとこれまで行ってきましたが、次のようになりました。

http://svn.freebsd.org/viewvc/base/user/luigi/ipfw3-head/usr.bin/comm/comm.c?view=markup&pathrev=200559

'comm -i'をサポートするバージョンのcommをLinuxで取得する方法について誰か提案がありますか?

ありがとう!

0 投票する
1 に答える
532 参照

c - アセンブリ ファイル内で #define された関数/インライン関数を使用する際の制限

アセンブリ ファイル内で #define された関数/インライン関数を使用することに制限はありますか。

2 つの異なる実装が定義されている bsd カーネルを参照しました。1 つはマクロで、もう 1 つは通常の関数です (どちらも同じ関数です)。

c ファイルでは、splx は関数として定義されています

h ヘッダー ファイルでは、splx はマクロとして定義されていますが、 http://ftp.hu.freebsd.org/pub/netbsd/NetBSD-release-4-0/src/sys/arch/arm/omap/omap_intr.h

私の理解では、c ファイル定義はアセンブリ ファイルで使用されますが、マクロ定義はヘッダー ファイルが含まれる他のすべての関数で使用されます。

なぜアセンブリがここに登場するのかはっきりしないと思います。基本的に 2 つの定義があります。1 つは c ファイルにあり、もう 1 つは splx の h ファイルにあります。C ファイルで splx 定義をコメントアウトすると、アセンブリ ファイルのコンパイルでエラーが発生します。 h ファイルを含む他のすべてのファイルに使用されます。

ここで私の質問は、ヘッダー ファイルをインクルードしてマクロ定義を使用できないのはなぜですか?

0 投票する
3 に答える
4328 参照

linux - Linuxで通常のファイルをシンボリックリンクに変換する方法

私は(非)アーカイブツールを作成しており、その設計方法では、特別な属性を調べてこのアイテムが実際にはシンボリックリンクであると判断する前に、まずアーカイブから通常のファイルを作成します。

注:ファイルのシンボリックリンク作成したいと誤解する人が増える前に。いいえ、シンボリックリンクデータ、つまりそのパスをファイルに書き込みます。次に、これがシンボリックリンクであることをファイルシステムに通知します。

私はこれをOSXで開発してきました。そこでは、タイプとクリエーターのコードを適宜設定するだけで、通常のファイルをシンボリックリンクに変えることができます。

今、私はこのコードをLinuxでも動作させるのが好きです。だから私はそこで同様の方法を見つけるのが好きです。

シンボリックリンクを作成する通常の方法はsymlink()関数を呼び出すことですが、OSXのBSDシステムで可能であるように、通常のファイルをシンボリックリンクに変更する方法もあるのではないかと思います。作業コードをあまりリファクタリングする必要はありませんか?

st_modeの最上位ビットでファイルタイプを返すlstat()があります。ここで、このモードフィールドに類似のセッター関数もあるのではないかと思います。

0 投票する
1 に答える
1536 参照

iphone - iPhone - 接続されている WiFi アクセス ポイントの MAC アドレスを確認するにはどうすればよいですか?

プライベート API を使用せずに、iPhone が接続されているアクセス ポイントの MAC アドレスをプログラムで特定することはできますか?

これはコア BSD ライブラリを使用して実行できるはずだと理解していますが、私たちはこれに慣れていないので、誰かがスターター コードを教えてくれると助かります。

注: iPhone の MAC アドレスではなく、リモート デバイスの MAC アドレスを特定しようとしています。

0 投票する
1 に答える
185 参照

macos - OSX CoreServices オブジェクトから BSD ファイル記述子を取得します

私は OSX ユーザー空間の開発は初めてです。質問する前にドキュメントを読んでグーグル検索しましたが、次のことについてはまだ手がかりがありません。

CoreServices フレームワークを使用してファイル (FSRef、フォーク、URL など) を操作する場合、生の BSD ファイル記述子 (プレーン int) を取得できますか? はいの場合、どうすればそれを行うことができますか? 問題は、OSX フレームワークでのプログラミングを学びたいということですが、実際のタスクでは後で BSD ファイル記述子が必要になります。

その際。

0 投票する
3 に答える
8540 参照

licensing - GPL および BSD カーネル内の専用モジュール

Linux カーネルは LGPL ではなく GPL であるため、独自のコードをリンクすることは違法だと思います。業界はこれをどのように回避していますか?GPL ライセンスにより、開発者は GPL ドライバーおよび/またはカーネル モジュールの下でリリースすることが強制されると思います。

多分私は混乱していて、新しいモジュールを実装することは実際にはカーネルコードに対してリンクしていません??? 企業はこれにどのように対処しますか?たぶん、逆にリンクしますか (カーネルからバイナリへ)?

一方、BSD カーネルがあります。保護された IP を自由にリンクできる場所。BSD カーネル内にドライバを実装するより良い設計を入手できますか? GPL カーネル用のドライバーを実装する場合、設計上の制限はありますか?