-1

システムの接続タイプ (イーサネットかドングルか) を示す ac コードを書きたいと思います。1 つのライブラリ 'libnm' (ネットワーク マネージャー) が見つかり、そのライブラリ内に 1 つの関数 nm_connection_get_connection_type も見つかりました。コードでその関数を呼び出す方法がわかりません。接続タイプを検出する他の関数またはメソッドがあるかどうか混乱しています。少なくとも何をすべきかについての考えを与えることによって、誰かが私を助けることができますか?

4

1 に答える 1

1

「libnm」ライブラリにある関数 nm_connection_get_connection_type を使用して接続タイプを検出するための AC コードを作成する方法

C11 標準ドラフトn1570をお読みください。C に関するこのリファレンス Web サイトも調べて、 Modern Cを読んでください。

ネットワークに関連する C プログラミング言語の仕様には何もありません。

ただし、オペレーティング システムはネットワークに関連するライブラリを提供することがよくあります。

Linux の場合は、 Advanced Linux Programmingを読んでから、 syscalls(2 ) および関連ページを読んでください。特にsockets(7)tcp(7 ) を参照してください。proc(5)にも興味があるかもしれません。

Windows の場合は、WinAPI ドキュメントを参照してください。

nm_connection_get_connection_type関数はここに文書化されていますUsing libnmについて読み始める必要があります。たとえば、 を使用して表示できる文字列を返しますprintf("current connection type %s\n", nm_connection_get_type(your_nm_connection))。もちろん、printf(3)stdio(3)errno(3)を参照してください。

もちろん、すべての警告とデバッグ情報 ( GCC、つまり) を使用してコンパイルし、GDB デバッガーを使用してプログラムの動作を理解する必要もあります。gcc -Wall -Wextra -g

そのため、 GDB (およびGCC )のドキュメントもお読みください。

Linux では、strace(1)またはltrace(1)を使用して、自分の (または他の) プログラムの動作を理解することもできます。

最後に、libnmライブラリはオープン ソースです(すべてのGTKと同様)。そのソース コードをダウンロードして調査することを検討してください。

おそらく、GNU makeを使用してソフトウェアをビルドします。GNU make のドキュメントを読んでください。GNU emacsを使用してソース コードを編集する場合があるため、そのドキュメントをお読みください。

Linux 上の共有ライブラリについては、Program Library Howto with ld.so(8)およびldd(1)を読んでから、共有ライブラリの書き方に関する Drepper の論文とGNU binutilsのドキュメントを読んでください。

于 2020-11-20T12:12:37.090 に答える