私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレGCCについて part8
gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ☆
レスフィルター : (試験中)
コンパイルオプションに -undef ってなかったっけ?
それでも __DATE__ とかには効かないかもしれないけどね。
それでも __DATE__ とかには効かないかもしれないけどね。
#if defined(__DATE__)
#undef __DATE__
#define __DATE__ "2007/10/31"
#endif
#undef __DATE__
#define __DATE__ "2007/10/31"
#endif
-undefは他のマクロも消えて影響大きすぎるから
gcc -U__DATE__ -D__DATE__=\"hoge\" でいいだろ。
gcc -U__DATE__ -D__DATE__=\"hoge\" でいいだろ。
マルチスレッドと最適化の問題。 難しいもんですね。
http://kerneltrap.org/Linux/Fixing_Compiler_Misoptimizations
http://kerneltrap.org/Linux/Fixing_Compiler_Misoptimizations
gccのltoが手間取っている間にこっちは順調にやってるぽい?
まだ最適化のステージがgccには及ばない部分もあるかもしれない。
まだちょっとバグがあるけど、もう一歩で実用的になりそうな気配が。
結構appleがコミットしてるな。
offline optimizationとやらがいまいちよくわからないけど、
apiで簡単に使えるようなフレームワークがあるのかな?
llvm-gccで直にコンパイルしたらバイナリサイズが結構でかいんだが、
中に実行時最適化の為のコードが入ってるのかな。
どういう手順で使うのが普通なんだろ。
まだ最適化のステージがgccには及ばない部分もあるかもしれない。
まだちょっとバグがあるけど、もう一歩で実用的になりそうな気配が。
結構appleがコミットしてるな。
offline optimizationとやらがいまいちよくわからないけど、
apiで簡単に使えるようなフレームワークがあるのかな?
llvm-gccで直にコンパイルしたらバイナリサイズが結構でかいんだが、
中に実行時最適化の為のコードが入ってるのかな。
どういう手順で使うのが普通なんだろ。
http://osnews.com/story.php/18889/Kaleidoscope-Implementing-a-Language-with-LLVM/
ちょうどなんかフロントエンド向けのチュートリアルがupされた模様。
ちょうどなんかフロントエンド向けのチュートリアルがupされた模様。
offlineってのはruntimeじゃない時。
compile-timeでもlink-timeでもない。
インストールした直後とか、利用者に指示された時。
compile-timeでもlink-timeでもない。
インストールした直後とか、利用者に指示された時。
llvm-gcc4をcygwin上でbuildできた人はいる?
stage2でerrorになるのだが…
どうも、stage1で作ったxgccの動作確認で失敗してるみたい。
空のmain関数だけのtpをxgccでcompileして実行するとseg. faultで落ちる。
生成したアセンブリを見ると、spを変な値に設定してるようだ。
stage2でerrorになるのだが…
どうも、stage1で作ったxgccの動作確認で失敗してるみたい。
空のmain関数だけのtpをxgccでcompileして実行するとseg. faultで落ちる。
生成したアセンブリを見ると、spを変な値に設定してるようだ。
モノによっては
-mtune=k7
とか、mtune指定するとダメなやつもあったり
そもそも-marchやるだけでダメなやつもあったり
-targetとか、あそこらへん指定すると cannot build executable とか出くさるものもあったり
-mtune=k7
とか、mtune指定するとダメなやつもあったり
そもそも-marchやるだけでダメなやつもあったり
-targetとか、あそこらへん指定すると cannot build executable とか出くさるものもあったり
どのdemand pagingのことを言っているのかは知らないけど、
ふつうはOSの機能なんじゃないの?
ふつうはOSの機能なんじゃないの?
gccでexitをフックするにはどうしたらいいでしょうか?
segmentation faltとかならgdbで場所を把握できるんですが,
exitで普通に終わってしまって..
segmentation faltとかならgdbで場所を把握できるんですが,
exitで普通に終わってしまって..
#include <stdio.h>
#include <sys/types.h>
int main(void) { printf("%d\n",sizeof(size_t)*8; return 0; }
例えば上のようなプログラムでは
/usr/include/libのどのファイル使って実行ファイルを
作成するんでしょうか
できれば調べ方なんか知りたいですが
#include <sys/types.h>
int main(void) { printf("%d\n",sizeof(size_t)*8; return 0; }
例えば上のようなプログラムでは
/usr/include/libのどのファイル使って実行ファイルを
作成するんでしょうか
できれば調べ方なんか知りたいですが
>>72
リンカにマップを吐かせると...
リンカにマップを吐かせると...
1つ質問なのですが、ここで良いでしょうか。
OSはFreeBSD6.3-PRERELEASEで、C言語の勉強をしていました。
ソースは酷い有様なのでエラーが多発するのは分かるのですが、
何かいつもと違うメッセージが出まして・・・。
最後の3行が(手書きですが)
cc: Internal error: Segmentation fault: 11 (program ld)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
と書いてありました。
これってどうしたら良いでしょうか。
放っておけば良いとは思うのですが、気になったものでして。
OSはFreeBSD6.3-PRERELEASEで、C言語の勉強をしていました。
ソースは酷い有様なのでエラーが多発するのは分かるのですが、
何かいつもと違うメッセージが出まして・・・。
最後の3行が(手書きですが)
cc: Internal error: Segmentation fault: 11 (program ld)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
と書いてありました。
これってどうしたら良いでしょうか。
放っておけば良いとは思うのですが、気になったものでして。
すみません自己解決しました。原因が分かりました。
コマンドを間違えて打っていました。
いつもは
cc -o (実行ファイルの名前) (ソースファイル)
で打っていたのですが今回
cc (実行ファイルの名前) (ソースファイル)
と打ち込んで実行していました。
お騒がせしました。
コマンドを間違えて打っていました。
いつもは
cc -o (実行ファイルの名前) (ソースファイル)
で打っていたのですが今回
cc (実行ファイルの名前) (ソースファイル)
と打ち込んで実行していました。
お騒がせしました。
-pthreadと-lpthreadの違いって何ですか?
個人的には常に後者を使ったほうがわかりやすいと思うんですけど
なんでライブラリなしのオプションがGCCにあるのでしょう?
個人的には常に後者を使ったほうがわかりやすいと思うんですけど
なんでライブラリなしのオプションがGCCにあるのでしょう?
HP-UXとか要注意な。infoかソース読んで。
gccはスレッドローカル変数とかあって、
ライブラリに全部頼るわけにいかない部分もあるし。
gccはスレッドローカル変数とかあって、
ライブラリに全部頼るわけにいかない部分もあるし。
誰も-pthreadについて具体的な事を語らない罠。
ま、infoにも詳しい情報ないししょうがないとは思うがw
ま、infoにも詳しい情報ないししょうがないとは思うがw
正直あまり意味のないオプションだからね。今となっては。
#include <pthread.h>と-lpthreadで全て済んでしまう。
#include <pthread.h>と-lpthreadで全て済んでしまう。
つけてもつけなくても同じ、
と
つけないと正常に動作しない、
は全然違うぞ。
んで、出来ソコナイはどれ?Linuxは違うな。
と
つけないと正常に動作しない、
は全然違うぞ。
んで、出来ソコナイはどれ?Linuxは違うな。
>>87
OSじゃなくてarch依存じゃなかったか。
それと、gccのinfoにはプリプロセサとリンカにマルチスレッドプログラムのコンパイルを行なっていることを伝えるオプションだと書いてあるだけで、実際に何が変化するのかは書いてなくない?
-D_REENTRANTとの関係も教えてくれ。i386のLinuxの話でいいから。
OSじゃなくてarch依存じゃなかったか。
それと、gccのinfoにはプリプロセサとリンカにマルチスレッドプログラムのコンパイルを行なっていることを伝えるオプションだと書いてあるだけで、実際に何が変化するのかは書いてなくない?
-D_REENTRANTとの関係も教えてくれ。i386のLinuxの話でいいから。
具体的に語る人を待とう。
>>87 には無理そうだが。
>>87 には無理そうだが。
おいらの質問で場が荒れたみたいですんませんでした。
レスをくれた人どうも。
とりあえずi386 GNU/LinuxのGCC -pthreadすると
プリプロセサで#define _REENTRANT 1が定義されますね。
あとはリンカで-lpthreadやってるだけなのかなあ。
レスをくれた人どうも。
とりあえずi386 GNU/LinuxのGCC -pthreadすると
プリプロセサで#define _REENTRANT 1が定義されますね。
あとはリンカで-lpthreadやってるだけなのかなあ。
なぜこういうことを聞いたかってのは下の記事
「pkgconfigとlibtoolの悪」
http://udrepper.livejournal.com/19395.html
で、-pthreadしてると-Wl,--as-neededが効かなくなるぞって話です。
で、pkgconfig/*.pcを検索してみたら-pthreadをしてるのはQt関連とgthreadだけ。
だったら、-pthreadを-D_REENTRANT -lpthreadで置き換えられないかなあ
と思って聞いたわけです。
ただ、たとえそうしてもLDFLAGS=-Wl,--as-neededをやるとコンパイルできない
プログラムなんかもあったりして不思議ですが。
「pkgconfigとlibtoolの悪」
http://udrepper.livejournal.com/19395.html
で、-pthreadしてると-Wl,--as-neededが効かなくなるぞって話です。
で、pkgconfig/*.pcを検索してみたら-pthreadをしてるのはQt関連とgthreadだけ。
だったら、-pthreadを-D_REENTRANT -lpthreadで置き換えられないかなあ
と思って聞いたわけです。
ただ、たとえそうしてもLDFLAGS=-Wl,--as-neededをやるとコンパイルできない
プログラムなんかもあったりして不思議ですが。
>>98
Fedora 8に入ってるmanを見てみました。
gcc-4.1.2のマニュアルだと、
IA-64 Option, RS/6000 and PowerPC Options, SPARC Options
に書いてあります。
FreeBSD固有って書いてあるのは、Linux日本語manだけど、gcc-2.95.3の翻訳だから今となっては古い。
Fedora 8に入ってるmanを見てみました。
gcc-4.1.2のマニュアルだと、
IA-64 Option, RS/6000 and PowerPC Options, SPARC Options
に書いてあります。
FreeBSD固有って書いてあるのは、Linux日本語manだけど、gcc-2.95.3の翻訳だから今となっては古い。
類似してるかもしれないスレッド
- GCCについて part9 (1001) - [95%] - 2011/9/2 21:17 ○
- GCCについて part10 (538) - [90%] - 2018/7/5 20:30
- Cygwin + MinGW + GCC 相談室 Part 8 (938) - [18446744073709551610%] - 2022/10/28 8:00
トップメニューへ / →のくす牧場書庫について