私の質問のいくつかの用語が間違っているのではないかと心配しています。私に耐えて、私が間違っているところはどこでも私を訂正してください。
シリアルポートに接続されたカードリーダーを操作するための一連の機能を提供するライブラリ/プログラムを作成する必要があります。挿入されたカードを取り出すのと同じように、ユーザーは自分のコードを呼び出すだけです。たとえば、
cardEject(); // or
track2Data( response); // to read data of track 2 of magnetic stripe.
cardEject()
その他の機能は、シリアルポートのオープン、データの書き込み、確認応答の確認、エラーコードの確認、障害が発生した場合のコマンドの再送信などを自動的に処理します。シリアルポート上のデバイスとの通信についてはかなり明確です。
私の質問は、これらすべての関数を記述してテストした後、どのようにユーザーに提供する必要があるかということです。
彼にヘッダーファイル(.h
)とオブジェクトファイル(.o
)を与える必要がありますか?実際のプログラムをコンパイルしながらオブジェクトにリンクできるようにします。
静的ライブラリ(.a
)を提供する必要がありますか?
どちらが良いアイデアですか?
各機能がシリアルポートを開いてから閉じるのは良い考えですか?または、initCardReader()
それを開き、そのプロパティを設定し、それcloseCardReader()
を閉じる必要がありますか?initCardReader()
他のすべての関数は、 ?の後にのみ呼び出すことができます。
今、ばかげているが本当の質問:-)そのようなプログラムに使用される用語は何ですか?それはドライバーまたはライブラリまたはデバイスインターフェイスですか?そのようなプロジェクトの正しいラベルは何ですか?
御時間ありがとうございます。
編集
私を導いてくれた皆さんに感謝します。本当に感謝。
このAPIは、より大きなプロジェクトの一部になる必要があります。実際、私もそのプロジェクトに取り組んでいます。しかし、このAPIは、私がいるかどうかに関係なく、他のプロジェクトで使用される可能性が高いです。他のプロジェクトでの使用の可能性を考えると、ライブラリの方が理にかなっていると思います。私が間違っている場合は、親切に訂正してください。