[過去ログ]
文字コード総合スレ Part12 (1002レス)
文字コード総合スレ Part12 http://mevius.5ch.net/test/read.cgi/tech/1544931495/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
29: デフォルトの名無しさん [sage] 2018/12/20(木) 03:36:13 ID:Epiz8Tj2 バイトオーダーやアラインメントは、C/C++以外の言語でバイナリデータを使おうとした時に強く意識することになる。 C/C++で開発している時はコンパイラが自動的に配置・取得してくれるデータを、スクリプト言語では自力でオフセット調整して配置・取得しなければならない。 C/C++より簡単なことが長所だったはずのC#・Java・Perl・Python言語などで、低レベルなオフセット調節を自力で行う必要に迫られる皮肉な状況が起きる。 http://mevius.5ch.net/test/read.cgi/tech/1544931495/29
31: デフォルトの名無しさん [sage] 2018/12/20(木) 06:53:32 ID:Epiz8Tj2 >>30 例えばWindows環境だと、C/C++以外の言語でWin32API関数を固有の構造体を入出力に使う場合、アセンブリ並みに低レベルなオフセット調節を自力で行う必要に迫られる。 http://mevius.5ch.net/test/read.cgi/tech/1544931495/31
35: デフォルトの名無しさん [sage] 2018/12/20(木) 08:04:20 ID:Epiz8Tj2 >>32 勝手に書き換えないでもらいたい。 C/C++だと構造体の各メンバ変数のアラインメントを意識しなくていいが、他の言語だとそうはいかないので、アセンブリと同じようなオフセット調節が必要。 SendMessage(WM_COPYDATA)の送受信データの読み書きなど例はいくらでもある。 http://mevius.5ch.net/test/read.cgi/tech/1544931495/35
38: デフォルトの名無しさん [] 2018/12/20(木) 16:58:53 ID:Epiz8Tj2 エンディアンもさることながら32/64bit整数の幅調節が厄介。 使っている言語が32/64bitどちら向けでビルドされたものなのかによって構造体メンバのアラインメントを適切に処理する必要が出てくる。 言い換えれば、C/C++で作った構造体をバイト列で渡し、C/C++以外の言語でバイト列を構造体に復元する処理が厄介。 単に構造体の64bit整数メンバだけ気を付けるのではダメで、構造体の全メンバのアラインメントそのものが大きく変わりうることに注意する必要がある。 http://mevius.5ch.net/test/read.cgi/tech/1544931495/38
54: デフォルトの名無しさん [sage] 2018/12/20(木) 23:02:54 ID:Epiz8Tj2 PGならば、楽するためにJava/C#/Python/Perl/Rubyなどを使ってたはずなのに、C++よりめんどくさくなって心が折れそうになる経験を一度はしておいたほうがいい。 http://mevius.5ch.net/test/read.cgi/tech/1544931495/54
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.350s*