【Delphi互換!?】FreePascal【GPL】at TECH
【Delphi互換!?】FreePascal【GPL】 - 暇つぶし2ch469:光速エスパー世代774RR
07/06/15 17:35:48
すまない、俺が完全にタトしてたようだ orz

fpcディレクトリの.pas、.incファイルをなめてみたんだけど、MSG_NOSIGNAL が使われているのは
IdStackLinux.pas と IdStackUnix.pas の中だけで、
コンパイルされてエラーを吐くのは後者だね。
試しに適当な値を代入してやるとコンパイルする(fpc 2.1.4、PPC-Tiger)。

Result := fpRecv(ASocket, @ABuffer, ABufferLength, AFlags or Id_MSG_NOSIGNAL);

になってるけど、確かにWindows版? のスタックIDは
Result := Recv(ASocket, ABuffer, ABufferLength, AFlags)
で、const MSG_NOSIGNAL = 0 としたのと等価だ。

さて、ここがコンパイルできても次のエラーで止まる。
idSSLOpenSSL.pasの 687行目の
Result := CurrentThreadId; (* どうでもいいけど、このセミコロンはいらない。俺は断固付けない派 *)
で型が違う(ポインタが代入された)ってエラーを吐くんだな。強引にlongintに型キャストするとコンパイラは通る。
CurrentThreadIdはTidThreadId型を返す関数なんだけど、TidThreadIdはidGlobal.pasでlongwordに定義されているはずなので何か変だ。

つうんでちょっと弄るとコンパイルはできるけど、走るのかこれw

fpcsrcの再構築って、どこに書いてあったの?

Lazarus つうか FreePascal から外部ライブラリを呼べるよ。libcを呼んだり、Carbon.frameworkとリンクしたりする例がどっかにあった。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch