[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 17:23 / Filesize : 191 KB / Number-of Response : 880
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Delphi互換!?】FreePascal【GPL】



469 名前:光速エスパー世代774RR mailto:sage [2007/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とリンクしたりする例がどっかにあった。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<191KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef