ご存知のように、世界は静止しておらず、積極的に発展しています。 特にITおよび特にソフトウェア開発の分野。 この問題で最も難しいのは、すべての新製品を追跡し、最も価値のある有用な製品を入手することです。 つい最近、IoT開発用のVisual C ++と呼ばれるVisual Studioアドオンに出会いました。これは、ほぼ1年前から存在しています。 潜在的に-非常に便利なことですが、これまでのところ、これは現在のIoT用Visual C ++よりも鮮明な名前です。 理由を見てみましょう。
マイクロコントローラーで作業するときにVisual Studioを使用するというアイデアは、長い間、定期的に訪れてきました。 そして最近、このアイデアは実践になりました。 私のプロジェクトはすべて、長い間Visual Studioと緊密に統合されています。 最初は、バージョン管理システムと対話する手段としてそれを使用していました。 それから彼は部分的にコードを書き始めました。そして今、私はそれに組み込まれた単体テストシステムも使用しています。 しかし、コンパイルとデバッグは常に船外のどこかに残っていました。
Visual C ++ for IoT Developmentの見出しを見て、苦痛の時代は終わったと思いました! ある場所でコードを書くのを止め、別の場所でコンパイルとデバッグを行い、あちこちで絶えず切り替えます。 Visual Studioですべてを実行したいという希望がありました。
この拡張機能は2016年3月に登場しました。 そして彼についてのレビューは最高ではありません。 したがって、どうやら、ほぼ一年の間、それは日陰に残った。
では、IoT開発用のVisual C ++とは何ですか? これは、 GDBデバッガーをVisual Studioに接続しようとする試みの「副産物」であることが判明しました。
この物語は 2014年に始まりました。 最初に、Visual StudioはAndroid用のC ++コードをリモートでデバッグする機能を導入しました。 半年後、C ++コードのリモートデバッグの可能性がLinuxシステムのすぐ下で発表されました。 2015年11月、プレビュー版が登場しました 。 さて、今ではVisual StudioからのLinuxでのリモートコードデバッグ用アドオンはすでに完全にアクセス可能であり、積極的に開発中です。 最終更新日は2016年12月22日でした。 それについてはハブでさえ書きました 。
そして、IoT? しかし、かなり前にOpenOCDと呼ばれるプロジェクトがあることが判明しました 。 そのフルネームは、Open On-Chip Debugger FreeおよびOpen On-Chip Debugging、In-System Programming、Boundary-Scan Testingです。 このプロジェクトの意味は、ほとんどすべてのマイクロコントローラーの「単一」デバッグインターフェースであることです。 ハードウェアデバッグシステムまたはソフトウェア、外部JTAG / SWDアダプタ、またはデバッグボードに「スミア」されているかどうかは関係ありません。 現在、OpenODCには、ほとんどすべての既存のデバッグツール用の構成ファイルがあります。 そして、彼はこれをすべてGDBで統一します。
次のようになります。
これにより、localhost:3333でソケットが開きます。 したがって、これはリモートデバッグを可能にするGDBサーバーです。 Visual Studioがそれに接続します。
一般に、それですべてです。 IoT開発用のVisual C ++は、実際には新しいことを行いません。 はい。NMakeを構成し、コンソールモードでコンパイルを行うことができます。 また、IntelliSenseの設定があります。 しかし、それはすべてMakefileプロジェクトにありました。
これまで、開発者はすべてをARM GCCツールでテストしてきました。 OpenOCD 、 pyOCDおよびJTAGデバッガーSegger 。
このアドオンから何が欲しいですか? ARM GCCおよび通常のプロジェクトでの本格的な作業であり、NMakeを構成しません。 その後、Visual Studioのすべての設備を使用して、プロジェクト全体をリードできます。
さらに、これには技術的な問題はありません。 さらに、そのような試みはすでに行われています。 VisualGDBという商用プロジェクトもあります。 マイクロソフトがこれを行わない理由は謎のままです。
まとめると、IoT開発用のVisual C ++は素晴らしいと言え、それを使用することはかなり可能です。 しかし、不快です。 いくつかのシナリオがありますが、そのすべてにせいぜいNMakeの形式の松葉杖が関係しています。 この拡張機能が放棄されず、Linux開発向けVisual C ++と同じくらい積極的に開発され続けることを願っています。 ただし、最後の更新は2016年3月31日だったので、期待は役に立たないかもしれません。