2008年12月11日木曜日

C言語にはまる

 いやー、C++でコーディングをしているとですよ…。Cの世界がキツいんですわ。Postgresql が変数名に "typename", "typeid", "namespace" を使ってくれちゃってるもんだから、SPI系のラッパ関数を書いて、間接的に呼び出す事により問題を解決しようと思ったら、思いのほか、はまってるんですわ…。なんつっても gcc をまじめに使った事が無いんで、どの辺ではまっているのか、当たりをつけるのが難しいんですわ…。

 まず、基本的な所で、参照渡しの引数を C言語では使えなくて、なんでエラーになるのか、しばらく悩んだんですわ。そん次には、C++でコンパイルするときにC++側の関数に extern "C" の修飾子が無いと、Cライブラリから「そんな関数はねぇー」って怒られてはまったんですわ。
 そして、ただいま、C <-> C++ 間での同一型のサイズ不一致か、アライメント不一致によると思われるポインタ化けと間接ポインタによる整数値化けに、はまってるんですわ。x86_64環境だから余計にしんどいのかな?

 gcc の情報源って、みんなどこから仕入れているんだろう?

0 件のコメント: