問題タブ [pelles-c]
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.
c - C での可変個引数関数のオーバーロード
少しの調査と多くのいじくり回した後、私はこれを思いつきました:
基本的に、特別なトークン VOID を介して、ゼロ引数と 1 つの引数を区別できます。可変引数関数/マクロが VOID によって定義された文字列リテラルを唯一の引数として渡されない限り、機能します。この場合、 の呼び出しのみsomefunction("__variadic_VOID__");
が予期しない動作を引き起こします。文字列リテラルと同じ値の変数を渡しても、予期しない動作は発生しません。
提供されたコードは 0 ~ 6 個の引数に対してのみ機能しますが、より多くの引数で機能するように変更できます。
ただし、コンパイラ (Pelles C) によってif ("blah" == "blah") {doSomething();}
最適化されているかどうかについては興味がありますか? doSomething();
または、ポインターの比較は実行時に行われますか? 最適化されていない場合、このコード スニペットにより、関数/マクロの簡単かつ効率的な可変個引数のオーバーロードが可能になると思います...そうですか?
c - ここで stringize マクロを使用できますか?
Pelles Cを使用して、unsigned char 配列を表示またはログに記録したいと思います。stringize マクロを使用して、配列全体を 16 進数値として表示することはできprintf(%x)
ますか?
c - 宣言されていない識別子「番号」です。これを回避するにはどうすればよいですか?
プログラムで指定した番号を表示しようとしていますが、次のエラーが表示されます。
main.c(23): エラー #2048: 宣言されていない識別子 'number'。
一部のユーザーにとって、これに対する解決策は非常に単純でなければならないことは承知していますが、私は本の指示に従っており、私が知っている限りでは手紙に従っています。
どんな助けでも大歓迎です。
c - この実行時エラーが発生する理由を誰か教えてもらえますか?
Pelles C でプログラムを作成しましたが、それを実行すると、「続行するには任意のキーを押してください」というだけで関数の最後までスキップされます。
なぜこれが起こっているのか誰にも教えてもらえますか?
c - Pelles C でプログラムをコンパイルできません
私は C プログラミングに非常に慣れていません。エラーの場所とその理由を教えてください。
以下に示す(Pelles C)のプログラムで、エラーを見つけます。
c++ - SHGetKnownFolderPath() 関数が機能しない
SHGetKnownFolderPath() 関数の使用に問題があります。次のエラー メッセージが表示されます。
Type error in argument 1 to 'SHGetKnownFolderPath'; expected 'const struct _GUID *' but found 'struct _GUID'.
にKnowFolders.h
は、次の関連する定義があります。
私は Pelles C コンパイラを使用しています。
これは私のサンプルコードです:
このエラー メッセージを修正するにはどうすればよいですか?
編集SHGetKnownFolderPath(); のコード例を見つけました。それらはすべて、ポインターなしで関数を実行します。例えば:
c - Pelles C の DLL へのリンク
218KB.dll
と 596KB の.so
ファイルがあり、どちらも同じ名前です。.dll
リンカーが返す「未解決の外部シンボル」エラーを回避するために にリンクしたいのですが、DLL ファイルにリンクする方法が見つかりません。
この Pelles C フォーラムのトピックによると、.def
ファイルを使用して ... を作成する必要があります.lib
が、ファイルがありません.def
。このフォーラム トピックでは、コマンド ラインからpolink
を作成する方法が示されているので、さらにオプションを取得するために実行しました。オプションに気付きましたが、これを との両方で実行すると、「ライブラリ ファイルが指定されていません」という致命的なエラーが発生します。.lib
polink /?
/MAKEDEF
.dll
.so
私はこれを3時間やろうとしてきましたが、アイデアがありません。Web 検索で自分のヘルプ リクエストが表示されるところまで来ました。これを行う方法があるはずです...どうすればリンクでき.dll
ますか?