問題タブ [gcc]
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 ++でargcとargvにアクセスするにはどうすればよいですか
C++ で動的にロードされるライブラリを作成しています。
コード内から (デバッグ上の理由で) argc と argv を読み取りたいのですが、main 関数にアクセスできません。コマンド ラインを取得する方法はありますか (Windows と Linux の両方のソリューションが適しています)。
ありがとう、ダン
c - エラー: 初期化要素はロード時に計算できません
構造体を取る関数があり、その変数を配列に格納しようとしています:
しかしgcc -Wall -ansi -pedantic-errors -Werror
、次のエラーが表示されます。
初期化要素は読み込み時に計算できません
私には問題ないように見えますが、何が問題なのですか?
c++ - 部分的なテンプレートの特殊化による「不完全な型の無効な使用」エラー
次のコード:
エラーが表示されます
(私は gcc を使用しています。) 部分的な特殊化の構文は間違っていますか? 2 番目の引数を削除すると、次のようになることに注意してください。
その後、正しくコンパイルされます。
gcc - fastcall 呼び出し規約を模倣するように GCC を説得することは可能ですか?
そのため、Windows で fastcall 呼び出し規約を使用して関数を呼び出す必要があるアセンブリがありますが、gcc はそれをサポートしていません。GCC は regparm 属性を提供しますが、最初の 3 つのパラメーターが eax、edx、および ecx で渡されることを想定していますが、fastcall は最初の 2 つのパラメーターが ecx および edx で渡されることを想定しています。
いくつかのコード パスの重複を効果的に回避しようとしているだけなので、これは厳密には重要ではありませんが、回避できれば素晴らしいことです。
multithreading - gccでのスレッドセーフなアトミック操作
私が取り組んでいるプログラムには、次のようなコードがたくさんあります。
真ん中の命令をアトミックストアに置き換えることができれば、これは明らかにCPUサイクルの無駄です。gccがこれを実行できることは知っていますが、このような単純なスレッドセーフなアトミック操作に関するドキュメントはあまり見つかりませんでした。このコードセットをアトミック操作に置き換えるにはどうすればよいですか?
(単純なストアは理論的にはアトミックである必要があることはわかっていますが、オプティマイザーがプロセスのある時点でアトミック性を台無しにしないことを期待する必要はありません。)
明確化:厳密にアトミックである必要はありません。これらの変数は、スレッドの同期にのみ使用されます。つまり、スレッドBは値を読み取り、その値が正しいかどうかを確認し、正しくない場合はスリープします。したがって、スレッドAが値を更新し、スレッドBがその更新を認識しない場合でも、問題はありません。これは、スレッドBが実際には必要のないときにスリープし、ウェイクアップすると値がスリープすることを意味するためです。正しいこと。
c++ - C++#includeと#importの違い
C ++#include
との違いは何ですか?#import
gcc - 外部ライブラリヘッダーの GCC コンパイラの「ペダンティック」エラーを無視するにはどうすればよいですか?
最近、クロスプラットフォーム コードのクリーンアップを支援するために、make GCC コンパイル オプションに-pedanticおよび-pedantic-errorsを追加しました。外部インクルード ヘッダー ファイルにエラーが見つかるまでは、すべて問題ありませんでした。外部ヘッダー ファイルでこのエラー チェックをオフにする方法はありますか。
次のように含まれているファイルをチェックし続けます。
次のようなインクルード ファイルのチェックを停止します。
ここに私が得ているエラーがあります:
c++ - g++ と gcc の違いは何ですか?
g++ と gcc の違いは何ですか? 一般的な C++ 開発に使用する必要があるのはどれですか?
c++ - c++ ifstreams がデバイスから読み取れないのはなぜですか?
私は、C++ io を使い始めてはならないことを知っていました。「型の安全性」の議論全体が赤ニシンです (これが最も差し迫った問題の 1 つであることに気付いた人はいますか?) 。とにかく、私はそうしましたが、ifstreams と FILE*s および単純な古いファイル記述子の奇妙な違いを発見しました: ifstreams はデバイスから読み取ることができません。理由が思いつく人いますか?
c++ - 「operator&をオーバーロードするクラスを前方宣言することはできません」?
Google C ++スタイルガイドには、演算子のオーバーロードに関するセクションがあり、奇妙なステートメントがあります。
オーバーロードには、驚くべき影響もあります。たとえば、をオーバーロードするクラスを前方宣言することはできません
operator&
。
これは正しくないようで、GCCで問題が発生する原因となるコードを見つけることができませんでした。その声明が何を指しているのか誰か知っていますか?