問題タブ [zig]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
99 参照

arm - このリンカ スクリプトがオフバイワン アドレスを生成するのはなぜですか?

ARM Cortex-M0 マイクロコントローラ (具体的には、STM32 Discovery 開発ボードの一部としての STM32F072B) 用のファームウェア コードを書いています。

私のリンカー スクリプトは特別なことは何もしません。ベクター テーブルに入力し、コードのすべてのテキスト セクションとデータ セクションをインクルードするだけです。

ELF ファイルをビルドしてリンクし、シンボルをダンプすると、ELF エントリ ポイントだけでなく、セクションで終わるアドレス.vector_tableもすべて 1 つずれていることがわかります。

シンボル テーブルは_start0xC4 に表示されますが、リンカー スクリプトで定義されている ELF エントリ ポイントは_start0xC5 に設定されています。同様にdummy_isr、ベクトル テーブルに書き込まれるアドレスも 1 つずれています (dummy_isrシンボルは 0xC0 として定義され、リンカによって 0xC1 がベクトル テーブルに書き込まれます)。の分解により、とがそれぞれ 0xC0 と 0xC4 で始まることが.text確認されるため、リンカが書き込んでいるアドレスは間違っています。_dummy_isr_start

0xC1 と 0xC5 は有効な命令のアドレスでもなく、それぞれ命令の途中にあります。この不一致の原因は何ですか?

0 投票する
1 に答える
257 参照

struct - Zig での基本的な古典的な try-catch の実装

try-catchZig で従来のエラー処理を実装するにはどうすればよいですか?

例えば。このエラーを解決し、エラーが発生しない場合にのみ実行するにはどうすればよいappendですか?

可能であれば、上記のコードの修正版を示してください。

0 投票する
1 に答える
209 参照

zig - 複数の exe とライブラリを含む zig プロジェクト

いくつかの実行可能ファイルと静的ライブラリをビルドする zig プロジェクトをセットアップしたいと考えています。これは私が念頭に置いている構造です:

それを行う1つの方法は、次のようなものを使用して、単一のbuild.zigでこれらすべてを記述することだと思います:

それは良い方法ですか?exeとlibsを別々のファイルに記述することは可能ですか?その場合、それらをどのようにリンクしますか?

編集:静的ライブラリは実際には必要なく、代わりにパッケージを実際に使用できると思います。これはもっとジグのようになると思います。ただし、静的ライブラリのアプローチにはまだ興味があります。