問題タブ [clang++]
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++ - decl-specifier としての「static void」
次のコードは、clang で正常にコンパイルされます。C++ 標準がこれで問題ないかどうか知りたかったのです。
私の意見では、どの宣言も有効ではありません。永続的な C++ 標準検証スイートには、その ようなテスト (#1) があり、clang (v3.4) はそのテストで失敗します。
ただし、#1から静的を削除すると、clangは予想どおりエラーを報告します。
標準を調べたところ、静的データ メンバーに関する 1 つの段落 (9.4.2-2) が見つかりました。
2 クラス定義内の静的データ メンバーの宣言は定義ではなく、cv 修飾された void 以外の不完全な型である可能性があります。...
私が理解しているように、この行は #2 と #3 を無効として失格としていますが、#1 については不明です。#1を除外する必要がある静的ストレージクラスの宣言に関連する詳細はありますか?
ありがとう、
clang - clang の -ftree-vectorizer-verbose に相当
問題は、どのclang
ループ (またはコードの他の部分) がベクトル化されたかに関する情報を出力する方法についてです。これを行うために(またはGCCの新しいバージョンで)名前がGCC
付けられたコマンドラインスイッチがありますが、 . これをサポートしていますか、それとも私の唯一のオプションは逆アセンブリを覗くことですか?-ftree-vectorizer-verbose=6
-fopt-info-vec
clang
clang
linux - clang++ および libc++ を使用する Linux で std::cerr が SIGABRT を引き起こす
clang++ 3.3 libc++ libc++abi でコンパイルされた Ubuntu 12.04 x64 で実行される単純なプログラムを取得しようとしています。
プログラム:
std::cerr に書き込むとメッセージが出力されますが、SIGABRT になります。
ただし、 std::cout への書き込みは正常に機能します。
実行可能ファイルの ldd 出力は次のとおりです。
誰でもこれを修正する方法を教えてもらえますか?
バックトレースは次のとおりです。
c++ - C++ Makefile のコンパイル順序
こんにちは、この質問で、コンパイルの順序は重要ではないことを読みましたが、本当に奇妙な状況にあります。
ファイル CCSizePolicy.cpp にはいくつかのグローバル変数があります。それらは次のようになります。
ヘッダーに
CCLayoutParams.h にもあります
および CCLayoutParams.cpp
したがって、プログラムでそれらを使用するときは、 CCLayoutParamsWrapWrap.getWidth() および CCLayoutParamsWrapWrap.getHeight() を呼び出します
これは私に -1 -1 を出力するはずですが、私は 0 0 を持っています...
makefile での順序は次のようになります。
に変更すると
すべてが機能し始めます (私は -1 -1 を取得します) 何が起こっているのですか?
gcc バージョン 4.6.3 で Linux を使用しています (Ubuntu/Linaro 4.6.3-1ubuntu5)
ソース ファイルを名前で並べ替えているため、プロジェクト全体にバグが発生しています。なぜでしょうか??!?!
c++ - Boost Log - なぜこれはコンパイルされないのですか?
この 3 時間ほどの間、次のコンパイル エラーに完全に混乱していました。ここで何が起こっているのか誰か教えてもらえますか?
log::formatter (以下にマーク) を独自の変数として定義しようとしたため、いくつかの場所で再利用できました。ただし、再利用しようとするとコンパイルエラーが発生します。
ただし、その変数を完全に削除し、代わりにコードをコピーして貼り付けると、コンパイルされます。一体何?私がやりたいことをする方法はありますか?
コンパイル エラー (clang++ を使用) は次のとおりです。
ただし、代わりにこれに変更すると、コンパイルされます。
c++ - gcc または clang でヘッダーを自動的に生成する
ソース ファイルsource.cpp
を指定して、適切なヘッダーを生成する方法を教えてsource.hpp
ください。
私は Linux 64 ビットを使用しており、コードの記述に費やす時間を短縮し、起こりうるエラーを制限するために、手作業でヘッダーを記述しないようにしたいと考えています。
c++ - 英語以外の文字列をファイルに書き込み、C++ でそのファイルから読み取る方法は?
をファイルに書き込みたいのですstd::wstring
が、そのコンテンツを として読み取る必要がありますstd:wstring
。これは、文字列がL"<Any English letter>"
. しかし、ベンガル語、カンナダ語、日本語など、英語以外の文字がある場合に問題が発生します。次のようなさまざまなオプションを試しました:
- ファイルへの変換とファイル
std::wstring
へstd::string
の書き込み、および読み取り時間の読み取りstd::string
と変換std::wstring
- 書き込みは行われていますが (編集から確認できました)、読み取り時間が間違った文字になっています
- wofstream
std::wstring
に書き込むと、これは次のような母国語の文字にも役立ちません。std::wstring data = L"হ্যালো ওয়ার্ল্ড";
プラットフォームはmacとLinux、言語はC++
コード:
c++ - clang がこれをユーザー定義リテラルとして解析するのはなぜですか?
私は、clang 3.3 でコンパイルを開始したことを維持しているコードをいくつか持っています。「-std=c++11」でコンパイルすると、clang でエラーが発生します (以下を参照)。問題のあるコードを次のように抽出しました。
これはclangの出力です:
test.cpp:10:5: エラー: タイプ 'const char *' および 'unsigned int' の引数を持つ 'operator "" __format' の呼び出しに一致するリテラル演算子がありません
文字列リテラルと「__format」の間にスペースがないと、プリプロセッサが __format を展開できるようには見えません。ただし、-std=c++11 を指定しない場合は明らかに. G++ 4.4.7 (-std=c++0x の有無にかかわらず) は問題なくコンパイルされます。
コンパイラにエラーはありますか?