問題タブ [gcc4]
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.
iphone - 公式iPhoneSDK用のAutotoolsベースのライブラリをクロスコンパイルする
バックグラウンド
私はiPhoneを含むいくつかの異なる電話を対象としたプログラムを書いています。プログラムは、いくつかのサードパーティライブラリに依存しています。iPhoneとiPhoneシミュレーター用にこれらのサードパーティライブラリをクロスコンパイルするのに問題があります。ライブラリには、Apache Portable RuntimeとGNUTLS、およびそれらの依存関係が含まれています。ビルドされたライブラリのプレフィックスを「/opt/iphone-3.1」、「/ opt / iphone-3.0」、「/ opt / iphone-2.2.1」、「/ opt/iphone-simulator-3.1」にします。 「」、「/ opt/iphone-simulator-3.0」。
クロスコンパイルプロセスを簡単に再現できるようにするために、ターゲットプラットフォームごとに「configure」スクリプトを呼び出すスクリプトを作成しています(「iphone3.1-configure」、「iphone3.0-configure」、「iphone2.2.1」)。 -configure "、" iphonesim3.1-configure "、および" iphonesim3.0-configure ")。これは私が問題を抱えているところです。
公式のXcode3.2+ iPhoneSDK3.1を搭載したMacOSX 10.6SnowLeopardコンピューターを使用しています。
状態
私は現在、次の「iphone3.1-configure」スクリプトを持っています。
「apr-1.3.8」フォルダで「iphone3.1-configure--disable-dso」を実行していて、次のようになっています。
「config.log」の関連部分は次のとおりです。
質問
「iphone3.1-configure」スクリプトを修正するにはどうすればよいですか?ありがとう。
c++ - GCC4.3.3ではデフォルトでC++スタイルのコメントはどのように処理されますか?
Ubuntu 9.0464ビットでGCC4.3.3を使用していて、CコードでC++スタイルのコメントを使用するとエラーが発生していました。タイトルで「デフォルトで」と言うときは、単に呼び出すことを意味しますgcc test.c
GCC 4.3.3のドキュメント(ここ)によると、これはサポートされています...それでもエラーが発生しました。
これらのエラーは、コンパイル文字列に-std = c99を追加するだけで解消されたため、問題は解決しました。ドキュメントと明らかに矛盾しているように思われるので、GCCの専門家がこれについて説明していたかどうか興味があります。
c++ - gccとのリンク中にエラーが発生しました
私はこのコードをコンパイルしようとしました:
それは機能しますが、デバギングシンボルを使用してgccとリンクする際に多くの問題があり、リンクしません:-(
助けが必要!
大きなリンカーエラー:
facon @ facon-laptop:〜/ Windows-Mis documentos / Prog / C / Ejercicios / pedirentero $ g ++ -o main main.o main.o:関数 `_start':
/build/buildd/eglibc-2.10.1/csu/../sysdeps/i386/elf/start.S:65:`_start'の複数の定義
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crt1.o:/build/buildd/eglibc-2.10.1/csu/ .. /sysdeps/i386/elf/start.S:65:
ここで最初に定義されたmain.o:(。rodata+0x0):`_fp_hw'の複数の定義
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crt1.o:(.rodata+0x0):最初にここで定義main.o:In function
_fini': (.fini+0x0): multiple definition of
_fini '/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crti.o:(.fini+0x0):ここで最初に定義されたmain.o :( .rodata + 0x4):`_IO_stdin_used'の複数の定義
/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crt1.o:(.rodata.cst4+0x0):ここで最初に定義されたmain.o :関数
__data_start': (.data+0x0): multiple definition of
__data_start '/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crt1.o:(.data+0x0):最初にここで定義main.o:In function
__data_start': (.data+0x4): multiple definition of
__dso_handle '/usr/lib/gcc/i486-linux-gnu/4.4.1/crtbegin.o:(.data+0x0):ここで最初に定義されたmain.o:関数
_init': (.init+0x0): multiple definition of
_init '/usr/lib/gcc/i486-linux-gnu/4.4.1/../../../../lib/crti.o:(.init+0x0):最初にここで定義
/usr/lib/gcc/i486-linux-gnu/4.4.1/crtend.o:(.dtors+0x0):`DTOR_END'の複数の定義main.o:(。 dtors +0x4):最初にここで定義
/ usr / bin / ld:警告:.eh_frame_hdrセクションを作成できません。--eh-frame-hdrは無視されます。/ usr / bin / ld:main.o(.eh_frame);のエラー。.eh_frame_hdrテーブルは作成されません。
collect2:ldが1つの終了ステータスを返しました
PD:編集しました。
multicore - GCC ソース コードを理解するための指針
私は、マルチコア プロセッサ用に GCC を最適化する作業をしている学生です。ソースコードを調べてみましたが、バックエンドにコードを追加する必要があるため、理解するのは困難です。さまざまなフェーズのコード フローを説明する優れたリソースを提案できますか。また、主にコードをステップ実行するために GCC をデバッグするための開発環境を提案します。Windowsでも可能ですか?
c - gcc 構造体内のメモリ アラインメント
アプリケーションを C の ARM プラットフォームに移植しています。アプリケーションは x86 プロセッサでも実行され、下位互換性が必要です。
現在、変数の配置に問題があります。__attribute__((aligned(4),packed))
構造体の開始が 4 バイトの境界に位置合わせされ、パックされたステートメントのために内部が変更されていないため、gcc のマニュアルを読みました
。
もともと私はこれを持っていましたが、4 バイト境界に合わせずに配置されることがあります。
なのでこれに変更。
構造体が 4 バイト境界に整列され、内部データが 4 バイト境界に整列されているため、前に述べた理解は正しくないようですが、エンディアンのために構造体のサイズが増加しました。サイズは 42 から 44 バイトです。42 バイトの構造体に依存する他のアプリケーションがあるため、このサイズは重要です。
必要な操作を実行する方法を説明してもらえますか。どんな助けでも大歓迎です。
c - gcc4が警告する理由とそれを回避する方法
私は次のように宣言された関数を持っています:
と組合
次のコードをコンパイルすると:
警告が有効になっている-Wconversion
と、次の警告が表示されます。
gcc4が失敗する理由とそれを修正する方法???
objective-c - (そうではない) プロパティを使用するときの愚かな Objective-C 継承の問題 - GCC バグ?
更新 - 多くの人が、プロパティの iVar を宣言する必要があると主張しています。私は最新のランタイム (64 ビット) を使用しているため、そうではないという人もいます。@property を iVar なしで何ヶ月も正常に使用していることを確認できます。したがって、「正しい」答えは、64ビットで、子クラスからアクセスするときに(そしてそのときにのみ)iVarを明示的に宣言する必要がある理由についての説明だと思います。これまでに見た唯一のバグは、GCC のバグの可能性です (Yuji さんに感謝します)。結局のところ、それほど単純ではありません...考えられるバグを明確にするために、次のようにします。基本クラスから継承する場合、子は親の iVar IF にアクセスできません。その子は、iVar にアクセスする前に @synthesize を使用して UNRELATED アクセサーを実装することもあります。
私はこれで数時間頭を悩ませてきました - 私は継承をあまり使っていません。
ここでは、ivar が宣言されているテスト A から継承する単純なテスト B クラスをセットアップしました。しかし、変数が宣言されていないというコンパイルエラーが発生します。これは、プロパティを追加して宣言を合成した場合にのみ発生します - それらがなくても正常に動作します。
TestA ヘッダー:
TestA 実装は空です:
TestB ヘッダー:
TestB の実装 (エラー - 'testString' が宣言されていません)
unix - gcc 4.5 の使い方
http://gcc.gnu.org/install/binaries.html
このページにはバイナリがあります。Fedora にはどれが適していますか?
c - pow は、2 番目のパラメーターを gcc の変数として受け入れません。
pow は、2 番目のパラメーターを gcc の変数として受け入れません。
次のコードは VC++10 で正常に動作します
ただし、次のコードは gcc では機能しません。