問題タブ [c-libraries]
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.
operating-system - scanf() と OS の関係のプロセスは何ですか?
このテーマの本を読んでいるときに、オペレーション システム コースの資料を探しています。
質問があり、あなたの助けが必要です。任意のプログラミング言語の特定のライブラリ (今は C ライブラリについて話している) と OS の間の関係のプロセスは何ですか?
たとえば、C プログラミングで scanf() 関数をサイクルで使用すると、データが OS (たとえば、ソース OS に近い OS) のメソッドに一致するまで、全体的にどうなりますか?
c - ある種の「strcmpf」実装は存在しますか?
format
文字列が、文字列に対応する追加の引数によって指定されたデータのパターンに従う (正確に一致する) かどうかをチェックする関数を探しています。
これを自分で実装するのは非常に難しいと思いますが、そのような機能はコンテンツのセマンティック解析に非常に役立つ可能性があります。このような関数を自分で作成しようとする前に、このような関数の実装を提供するライブラリまたはコード スニペットが既にあるかどうかを知る必要があります。
より具体的には、パターン マッチング動作が必要です。そのtest
ため、パラメーターに対応するデータによって指定されたパターンと正確に一致する必要がありformat
ます。
c - C ライブラリのパブリック ヘッダー インターフェイス
大規模なコードベースでコードの分離を改善するために、さまざまな C ライブラリを構築しています。
最小限のパブリック ライブラリ インターフェイスを使用して厳密に分離したいと考えています。
ライブラリは複数のモジュール (c + h ファイル) で構成されており、内部参照を含むものもあります。
現在、ライブラリ ヘッダー ファイルには、ライブラリ インターフェイス関数に関連するプロトタイプと、ライブラリ内 (ライブラリ モジュール間) で使用されるパブリック関数の両方が含まれています。
ライブラリインターフェース(ライブラリモジュール間で使用される内部パブリック関数)を介してアクセスできないパブリックインターフェースを何らかの方法で除外したいと思います。
私は次の可能な解決策を考え出しましたが、これらのいずれかが最適であるとは確信していません。
- モジュールごとに 2 つのヘッダー ファイルを維持します。ライブラリ内で使用される内部インターフェイスを含む 1 つのヘッダー ファイルと、ライブラリのユーザーが使用できる公開ライブラリ インターフェイスを含む 1 つのヘッダー ファイル
- インクルード ガード + ac プリプロセッサを使用して、ヘッダー ファイルのセクションを除外します。結果として、前処理されたヘッダー ファイルにはライブラリのパブリック関数のみが含まれます。
- // Lib func \n void function1 ( int test ); などの C スタイルのコメントを使用して、いくつかの構文に基づいてヘッダー ファイルをフィルター処理するカスタム スクリプトを記述します。このソリューションでは、標準ツールを使用して c ヘッダー ファイル (clang / LibClang など) を解析します。
これは、ライブラリを構築する際の標準的な「問題」であると思いますが、なぜ SOF や Google でこのトピックに関する情報が見つからないのか疑問に思っています。
これを効果的に達成する方法についての提案は高く評価されます。
ありがとう