1

Windows GUIプログラミングでは、dllを使用して、ロードされたdllのシンボルをインポートできるようにします。

今、私は.Solinux共有ライブラリを使って手を試しています。このリンクに記載されているように、共有ライブラリ関数に簡単にアクセスできます。 http://www.cprogramming.com/tutorial/shared-libraries-linux-gcc.html

共有ライブラリに書き込まれたルーチンを使用して、シリアル通信用のUSARTを読み書きしたいとします。

  1. ドライバーがカーネルに固定的にリンクされている場合、共有ライブラリへのアクセス(USARTドライバーシステムコールインターフェイス)はどのようになりますか?

  2. ドライバーがModprobeまたはinsmodeを使用してロードされている場合、共有ライブラリはどのようにしてUSARTドライバーにアクセスできますか?この場合、ドライバーはシンボルをエクスポートする必要がありますか?

4

1 に答える 1

1

共有ライブラリは、ドライバがカーネルに存在する間、ユーザースペースアプリケーションによって使用されます。ユーザースペースアプリをカーネルシンボルに直接リンクするのではなく、システムコールを介してカーネルサービスを要求します。システムコールは、特定のカーネルビルドに対して明確に定義され、番号が付けられています。概要については、こちらをご覧ください。

于 2012-12-02T15:37:59.693 に答える