1. トップ
  2. 新着ニュース
  3. IT
  4. パソコン

窓辺の小石 第162回 ビット文学

マイナビニュース / 2024年4月19日 15時45分

こうしたものにHidP_GetButtonCaps関数とHIDP_BUTTON_CAPS構造体がある。なぜ、これが面倒なのかというと、構造体の中にunion(共用体)があり、構造体の中の値を使って、共用体のどちらを使っているのかを切り替えて扱う必要がある。これをP/Invokeで直接表現することは難しく、インターネット検索すると、アンマネージメモリ領域を確保して渡す、構造体の要素の個々にオフセット値を設定するなどの方法しか見つけることができなかった。しかも、どれもうまくいかなくて、筆者は、苦労した上で、共用体の要素の名前が違うだけで要素のタイプはまったく同じことに気がついた。何のことはない、共用体を使わなくてもいいのである。

試しにCopilotに「Win32APIのHidP_GetButtonCapsをC#から呼び出すにはどうしたらいいですか」という質問をしたら、あっさりと共用体を使わない構造体定義を使う方法を提案してきた(写真01)。筆者は、この方法をインターネット検索では見つけることができず、試行錯誤の上見つけた。しかも、このソースコードに関しては公開もしていない。

また、以前、この連載で紹介したLocalDirServer(窓辺の小石(159) 忘却の惑星も、「node.jsを使って、HTTPプロトコルでURLから指定されたローカルフォルダをエクスプローラーで開くプログラムを作ってください」と質問したら、筆者の作成したプログラムと似たようなものが出てきた(写真02)。こちらはローカルパスを指定するのにクエリーを使い「?folder=<パス>」と指定するURLを使い、筆者の作成したものとは少し異なる。

Copilotが追記する参考Webページには、直接、この方法を記述したページもない。このやり方がインターネット内に絶対存在しないとは断定できないが、少なくともCopilotは、質問が理解できれば、適切と思えるコードを提案できるようだ。

そういうわけで、最近では、インターネット検索する前に、まずCopilotに「お伺い」をたてることにしている。

今回のタイトルネタは、スタニワフ・レムの「『ビット文学の歴史』第一巻 ジュアン・ランベレーほか」から取った。この作品は、「虚数」(Wielkość urojona. 1973年。邦訳 国書刊行会1998年)に含まれている。同書は、存在しない本の前書き、序文などを扱った作品てある。ビット文学とは、人間以外の書き手による文学のことである。
(塩田紳二)



この記事に関連するニュース

トピックスRSS

ランキング

記事ミッション中・・・

10秒滞在

記事にリアクションする

記事ミッション中・・・

10秒滞在

記事にリアクションする

デイリー: 参加する
ウィークリー: 参加する
マンスリー: 参加する
10秒滞在

記事にリアクションする

次の記事を探す

エラーが発生しました

ページを再読み込みして
ください