問題タブ [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.
c - C用のライブラリの良いコレクション?
ANSI-C用のライブラリ、ベクトル、ハッシュマップ、バイナリトレス、文字列処理などを処理するためのライブラリの優れたコレクションを探しています。
macos - Mac OS X でデバイスの BSD 番号を取得する方法はありますか?
/dev/rdisk0
私のプログラムは入力からのようにデバイス パスを読み取りIOKit
、BSD 名のディスクを探しdisk0
ます。このために/dev/r
、パスから削除する必要があります。
このパスをハードコーディングすると、Mac OS X の将来のバージョンで壊れる可能性があります。したがって、別の方法を考えIOService
ました。デバイスの BSD メジャーおよびマイナー バージョンを使用して一致させることができます。
これが私の質問です:パスから BSD のマイナー番号とメジャー番号を抽出することは可能ですか?
sockets - 一般的なソケット UDP プログラミングの質問
コードが通信する必要がある FPGA デバイスがあります。プロトコルは次のとおりです。
ゼロ以外のバイト (UDP) を 1 つ送信して、機能を有効にします。次に、FPGA ボードは、送信元のポートでデータを吐き出し始めます。
私のジレンマがわかりますか?メッセージを送信したポートはわかっていますが、どのポートから送信したかはわかりません(通常、このポートは OS によって自動的に選択されませんか?)。
私がやるべきことについての私の最善の推測は、宛先IPとポート番号でソケットを作成し、ソケットを再利用して受信することです。その場合、元のメッセージを送信したポートでリッスンするように既に設定されていますか?
また、参考までに、このコードのバリエーションは Python と C# で記述されます。どちらも BSD ソケット モデルに従っているため、特定の API を調べることができます。
unix - ダーウィン:子を殺さずに親プロセスを殺す方法は?
OS X 10.4/5/6 の場合:
子を生成する親プロセスがあります。子供を殺さずに親を殺したい。出来ますか?どちらのアプリでもソースを変更できます。
unix - UNIXの「comm」ユーティリティでは、BSDでは大文字と小文字を区別できませんが、Linuxでは大文字と小文字を区別できません(-iフラグを使用)。Linuxでどうやって入手できますか?
BSDプラットフォーム(OSX)で開発したアプリケーションで、優れたUNIXの「comm」コマンドラインユーティリティを使用しています。Linux実稼働サーバーにデプロイしたとき、悲しいことに、Ubuntu Linuxの「comm」ユーティリティは、行を大文字と小文字を区別せずに比較する必要があることを示すために-iフラグを取りません。どうやらPOSIX標準は-iオプションを必要としません。
だから...私は拘束されています。BSDで非常にうまく機能する-iオプションが本当に必要です。LinuxボックスでBSDcomm.cソースコードをコンパイルしようとこれまで行ってきましたが、次のようになりました。
'comm -i'をサポートするバージョンのcommをLinuxで取得する方法について誰か提案がありますか?
ありがとう!
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 ファイルを含む他のすべてのファイルに使用されます。
ここで私の質問は、ヘッダー ファイルをインクルードしてマクロ定義を使用できないのはなぜですか?
linux - Linuxで通常のファイルをシンボリックリンクに変換する方法
私は(非)アーカイブツールを作成しており、その設計方法では、特別な属性を調べてこのアイテムが実際にはシンボリックリンクであると判断する前に、まずアーカイブから通常のファイルを作成します。
注:ファイルのシンボリックリンクを作成したいと誤解する人が増える前に。いいえ、シンボリックリンクデータ、つまりそのパスをファイルに書き込みます。次に、これがシンボリックリンクであることをファイルシステムに通知します。
私はこれをOSXで開発してきました。そこでは、タイプとクリエーターのコードを適宜設定するだけで、通常のファイルをシンボリックリンクに変えることができます。
今、私はこのコードをLinuxでも動作させるのが好きです。だから私はそこで同様の方法を見つけるのが好きです。
シンボリックリンクを作成する通常の方法はsymlink()関数を呼び出すことですが、OSXのBSDシステムで可能であるように、通常のファイルをシンボリックリンクに変更する方法もあるのではないかと思います。作業コードをあまりリファクタリングする必要はありませんか?
st_modeの最上位ビットでファイルタイプを返すlstat()があります。ここで、このモードフィールドに類似のセッター関数もあるのではないかと思います。
iphone - iPhone - 接続されている WiFi アクセス ポイントの MAC アドレスを確認するにはどうすればよいですか?
プライベート API を使用せずに、iPhone が接続されているアクセス ポイントの MAC アドレスをプログラムで特定することはできますか?
これはコア BSD ライブラリを使用して実行できるはずだと理解していますが、私たちはこれに慣れていないので、誰かがスターター コードを教えてくれると助かります。
注: iPhone の MAC アドレスではなく、リモート デバイスの MAC アドレスを特定しようとしています。
macos - OSX CoreServices オブジェクトから BSD ファイル記述子を取得します
私は OSX ユーザー空間の開発は初めてです。質問する前にドキュメントを読んでグーグル検索しましたが、次のことについてはまだ手がかりがありません。
CoreServices フレームワークを使用してファイル (FSRef、フォーク、URL など) を操作する場合、生の BSD ファイル記述子 (プレーン int) を取得できますか? はいの場合、どうすればそれを行うことができますか? 問題は、OSX フレームワークでのプログラミングを学びたいということですが、実際のタスクでは後で BSD ファイル記述子が必要になります。
その際。
licensing - GPL および BSD カーネル内の専用モジュール
Linux カーネルは LGPL ではなく GPL であるため、独自のコードをリンクすることは違法だと思います。業界はこれをどのように回避していますか?GPL ライセンスにより、開発者は GPL ドライバーおよび/またはカーネル モジュールの下でリリースすることが強制されると思います。
多分私は混乱していて、新しいモジュールを実装することは実際にはカーネルコードに対してリンクしていません??? 企業はこれにどのように対処しますか?たぶん、逆にリンクしますか (カーネルからバイナリへ)?
一方、BSD カーネルがあります。保護された IP を自由にリンクできる場所。BSD カーネル内にドライバを実装するより良い設計を入手できますか? GPL カーネル用のドライバーを実装する場合、設計上の制限はありますか?