私は非常に典型的な問題に直面しています。void * を返す関数 (create_instance) があります。create_instance 内で、構造体の malloc を実行し、構造体のメンバーにデフォルト値を設定して、malloc されたメモリを返します。
create_instance 内の malloc メモリは 0x7fffff000080 でした。呼び出し関数では、関数の戻り値は 0xffffffffff000080 として表示されます。
次に、明らかな構造体のメンバーにアクセスしようとすると、プログラムがクラッシュします。
私の質問は、関数が戻るときに値が変更される理由です。
開発には Ubutu 12.04 LTS、コードブロック 10.05 環境を使用しています。
コンパイラ/リンカー オプションを指定する必要がありますか。オプション -m64 を試してみましたが、うまくいきませんでした。
このことを知っている方がいらっしゃいましたら、お返事をいただければ幸いです。
カマル ネット クラウド システム バンガロール