[過去ログ] C++相談室 part130 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
803: (ワッチョイ 7011-MRQN) 2017/07/18(火)12:37 ID:2CukONSS0(2/2) AAS
訂正
ETだから参照でないといかんね
operator +(T &&t, U &&u)
804: (ワッチョイ 3eaf-iUs+) 2017/07/18(火)12:44 ID:VOd4+Wz60(1) AAS
なんとなくわかりました
やってみます
805: (ブーイモ MMfd-I8+U) 2017/07/18(火)12:53 ID:CTdksPCiM(1) AAS
式テンプレート作るのと、右辺値参照モノをしっかり作り込むのとどちらが良さげ?
806(2): (スプッッ Sd9e-aKa0) 2017/07/18(火)14:06 ID:C2L8wOjPd(1) AAS
上でVB6.0について質問してるものだけどさらに重ねて質問させてください
VB6.0→C++に通信してる箇所が存在していてそこがstring→char※になってる
これって文字化けしないの??
807: (スップ Sd02-y/ao) 2017/07/18(火)15:57 ID:LmZYlO3Ud(1) AAS
>>806
さあ?
"まみむめも"でも試しに入力してみれば?
808(1): (アウアウエー Sa66-C5HA) 2017/07/19(水)07:57 ID:4WYjcaP8a(1) AAS
>>806
コード内で文字列生成して表示したらエンコードが違って文字化けとかあるけど、外部から文字列受け取ってただ表示するだけならエンコードとか関係ないから問題は無い。
(ただのバイト列)
外部から文字列受け取ってそれを加工するとかだと問題ある時はあるが。
809: (ワッチョイ 3eaf-iUs+) 2017/07/19(水)14:22 ID:cdBaS5I50(1) AAS
804ですが
>>802
>名前空間で定義して、ETで使うクラス全て特定の名前空間内で定義する
これでできました。
ありがとうございます。
810(3): (スプッッ Sd9e-aKa0) 2017/07/19(水)20:36 ID:ogeQAtV7d(1/13) AAS
>>808
サンクス!!!
いじらないことにした
明示的なdllの呼び出しも出来なくて震えてます
Getprocaddressが出来ずに進まないです
何か間違っている箇所があれば教えてほしいです
dllは同階層に配置してます
あとdll側の宣言でWINAPIがあるパターンとないパターンを見るのだけども
必要ないってことはあり得るのでしょうか
dll側
省12
811(1): 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)20:49 ID:MaD+cEa1d(1/25) AAS
>>810
importとexportを間違ってるよ。
812: (スプッッ Sd9e-aKa0) 2017/07/19(水)21:54 ID:ogeQAtV7d(2/13) AAS
>>811
あ ごめん
そこはexportってしてるから問題ない
スマホで書き込む際に間違えただけです
813: 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:02 ID:MaD+cEa1d(2/25) AAS
まずは、出来たdllをダンプしてみな。関数型にはWINAPIが必要だよ。
814(1): (オッペケ Srea-hJ3a) 2017/07/19(水)22:06 ID:QocMLB2Ar(1) AAS
>>810
>間違っている箇所があれば教えてほしいです
ほれ
1. (int (*)(int,int))
2. GetProcAddress(hDLL, "AAA")
815(1): 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:06 ID:MaD+cEa1d(3/25) AAS
こういう場合は関数ポインタ型をtypedefしたら楽だよ。
816: (スプッッ Sd9e-aKa0) 2017/07/19(水)22:10 ID:ogeQAtV7d(3/13) AAS
>>814
ここ間違ってる?
dll側の関数の引数に合わせてるのと、getprocaddressを使って関数呼び出してるだけだから問題ないと思ってるのだけども
>>815
それって
>>810
>間違っている箇所があれば教えてほしいです
ほれ
これをint (*)(int,int)を定義するってことよね?
817: 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:12 ID:MaD+cEa1d(4/25) AAS
typedef int (WINAPI *MYFUNC)(int, int);
818: (スプッッ Sd9e-aKa0) 2017/07/19(水)22:13 ID:ogeQAtV7d(4/13) AAS
__stdcallがないってことか!!!!!
819: 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:14 ID:MaD+cEa1d(5/25) AAS
dumpbinというダンプツールがあるから、それを使ってdllの情報をダンプする。
820(1): 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:16 ID:MaD+cEa1d(6/25) AAS
どうやってdllを作った? 初心者だから作り方間違ってる可能性がある。
821(1): (スプッッ Sd9e-aKa0) 2017/07/19(水)22:18 ID:ogeQAtV7d(5/13) AAS
>>820
ダンプするってのがほぼほぼ理解できてない
visualstudioでdll選んで空のプロジェクトを選んだ
それでcpp追加してその内容にさっきの構文とおまじないのwinmainを書いてビルド
822: 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:21 ID:MaD+cEa1d(7/25) AAS
>>821
dllの場合はWinMain要らない。ダンプは専用のコマンドプロンプトで行う。ってことは、コマンドプロンプトの使い方も勉強しないといけない。
823(1): 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:22 ID:MaD+cEa1d(8/25) AAS
DLLの場合はDllMainだね。
824: (スプッッ Sd9e-aKa0) 2017/07/19(水)22:25 ID:ogeQAtV7d(6/13) AAS
>>823
あ それか
落ちてる理由はそこな気がしてきた...
825(1): 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:25 ID:MaD+cEa1d(9/25) AAS
あっ、それからC++からC言語の関数を定義・参照するにはextern "C"を付けないといけない。
826: 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:31 ID:MaD+cEa1d(10/25) AAS
C++関数のシンボル名は「mangling」によって変な名前になり、コンパイラーによって違うから(標準化されていない)、DLLでは使いづらいので、C言語関数にすることが多い。
827: 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:39 ID:MaD+cEa1d(11/25) AAS
DLL内部の輸出関数にextern "C"を付けてC言語関数にする。
関数ポインター型をtypedefする。
DLLをダンプして関数シンボル名を確認する。
828(1): (スプッッ Sd9e-aKa0) 2017/07/19(水)22:41 ID:ogeQAtV7d(7/13) AAS
>>825
C言語の関数を定義参照するってのは.cファイルが出てきたときの話よね?
829(1): 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:43 ID:MaD+cEa1d(12/25) AAS
コンパイラーによって違うが、C言語関数が__cdeclのときは、そのシンボル名は先頭に下線が付き、__stdcallのときは関数名そのままだったかと。
830(1): 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:46 ID:MaD+cEa1d(13/25) AAS
>>828
C++でDLL関数を参照するときは、DLL関数がC言語関数でないと、シンボル名がややこしくなって、GetProcAddressが難しくなるよ。ダンプすればシンボル名が確認できる。
831(2): (スプッッ Sd9e-aKa0) 2017/07/19(水)22:51 ID:ogeQAtV7d(8/13) AAS
>>830
CでもC++でも構わないのだけどその関数のなかでクラスを呼ぼうとしてるのだけど可能なのだろうか??
>>829も少し気になったのだけど
__stdcallしてたのにリンカエラーの時に__cdeclのリンカエラーが出ていた
832: 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:54 ID:MaD+cEa1d(14/25) AAS
スタートメニューのVSの項目に、「なんちゃらコマンドプロンプト」というのがあるはずだ。
ソイツを起動すると黒い画面が出て来て、キーボードで「CD」コマンドで対象のフォルダに移動。
dumpbinに適当なコマンドライン引数を付けてEnter。
833: 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:56 ID:MaD+cEa1d(15/25) AAS
>>831
DllMainにも__stdcallが必要。
834(1): 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)22:59 ID:MaD+cEa1d(16/25) AAS
>>831
関数の引数と戻り値がC言語関数に見えれば中身C++でもOkay。
835: (スプッッ Sd9e-aKa0) 2017/07/19(水)22:59 ID:ogeQAtV7d(9/13) AAS
>>834
そうなんだ
じゃあextern cつけておいた方が安全みたいなのね
名前解決しやすいかしにくいかの話になるんだね
836: 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)23:00 ID:MaD+cEa1d(17/25) AAS
__stdcallやWINAPIなどを付けなければ、デフォルトで__cdeclになる。
837: 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)23:02 ID:MaD+cEa1d(18/25) AAS
コンパイラーによってはデフォルトの呼び出し規約を変更できるかも知れない。
838(1): 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)23:07 ID:MaD+cEa1d(19/25) AAS
複数の関数を、extern "C" { ... } で囲ってもいいし、関数の直前にextern "C"を付けてもいい。
839(1): (スプッッ Sd9e-aKa0) 2017/07/19(水)23:10 ID:ogeQAtV7d(10/13) AAS
>>838
個々につけた方が明示的で良いように思ったので個々でつけることにします
dll難しい....
linuxのsoファイル作成のソースコードと、winのdll作成のコードを共通化しようとしたら
defineで切るしかない??
840(1): (スプッッ Sd9e-aKa0) 2017/07/19(水)23:14 ID:ogeQAtV7d(11/13) AAS
質問ばかりで申し訳ないけどもヘッダファイルって作られないのかな?
dll側で定義した関数を公開するときにインポートライブラリで読み込ませるならばヘッダファイル必要になると思うのだけど
それは自身で作成することになる??
841(1): (ワッチョイ f6e4-PXrN) 2017/07/19(水)23:16 ID:rRbujBCW0(1/2) AAS
>>839
Boost.DLLを使う
842: 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)23:17 ID:MaD+cEa1d(20/25) AAS
>>840
Unmanaged C/C++では、慣習として、公開するヘッダーファイルは自分で書かないといけない。
それは公開する範囲を決める意味で重要な作業になる。
843(1): 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)23:25 ID:MaD+cEa1d(21/25) AAS
WinMainやDllMainなど以外で自分で作った関数については、WINAPIよりもAPIENTRYを使うのがマナー。
844: (スプッッ Sd9e-aKa0) 2017/07/19(水)23:28 ID:ogeQAtV7d(12/13) AAS
>>843
なんだそのAPIENTRYというのは
>>841
さらに知らない単語も出てきた
845(1): (ワッチョイ 96ea-zKZC) 2017/07/19(水)23:30 ID:K+rHLYmS0(1) AAS
もう面倒だからC#で作れよ
846(1): 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)23:32 ID:MaD+cEa1d(22/25) AAS
<windows.h>の中身を覗いてみると、Win32APIの流儀が見えてくる。時間泥棒かも知れないが、それが面白い。
847: 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)23:35 ID:MaD+cEa1d(23/25) AAS
Boostという準標準ライブラリ群があって、Boost.DLLはその一部。APIENTRYマクロはWINAPIマクロの別名。
848: 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)23:39 ID:MaD+cEa1d(24/25) AAS
面倒なのが嫌なら最初からC#使え。C++は素人が来るところではない。
849: (スプッッ Sd9e-aKa0) 2017/07/19(水)23:46 ID:ogeQAtV7d(13/13) AAS
>>845
開発でC++が必須なんだ..
850(1): 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/) 2017/07/19(水)23:50 ID:MaD+cEa1d(25/25) AAS
で、問題は解決したか?
851(1): (ワッチョイ f6e4-PXrN) 2017/07/19(水)23:52 ID:rRbujBCW0(2/2) AAS
それはいいけどググればすぐ解決する程度の問題をわざわざ人に聞くべきではない
852: (ワッチョイ 274b-FPZE) 2017/07/20(木)00:02 ID:a17NgPNI0(1) AAS
ググれってよく見るけど、最近はググった結果がQiitaとかで余計わからなくなる人いそう
853(1): (スプッッ Sd7f-7lrd) 2017/07/20(木)00:26 ID:68uSpz6dd(1) AAS
>>851
ぐぐった結果色々な方法がありすぎてどれが正しいか判断つかなくてここにきた
>>850
今は自習中
明日の業務で試してみます
854: (ワッチョイ 47e4-OcZC) 2017/07/20(木)00:35 ID:am65me5o0(1) AAS
色々は無いでしょ
855: (ワッチョイ dff0-E/h9) 2017/07/20(木)11:41 ID:aRd+na0X0(1) AAS
>>846
<windows.h>の中身を覗いてMSの片鱗を味わったがsmallに引っ掛かって1時間ほど時間を潰した
どうしてくれるんだ
856(1): (オッペケ Sr1b-3YgS) 2017/07/20(木)19:54 ID:z9hoJ4whr(1) AAS
>>853
ひょっとしてまだやってるのか?
方法1:
1. 型をint (__stdcall *)(int,int) にする
2. GetProcAddressに渡す名前を"?AAA@@YGHHH@Z"の様な名前にする
この名前はVisual Studio付属のコマンドで
「dumpbin.exe /exports unko.dll」にて確認
32ビットと64ビットでは名前が異なるので注意
方法2:
1. 型をint (__stdcall *)(int,int) にする
省4
857: (ササクッテロリ Sp1b-Iuq2) 2017/07/20(木)23:54 ID:8WEeg4Ctp(1) AAS
winapiの流儀とか見ていて吐き気を催す
858: (ワッチョイ 47e4-OcZC) 2017/07/21(金)00:44 ID:OjZ8KrLm0(1/4) AAS
WINAPIのtypedefされた型を元のプリミティブ型に書き直すのが趣味です
859: (ワッチョイ dfaa-E/h9) 2017/07/21(金)00:47 ID:zOHs/jgU0(1) AAS
F12を叩きたいのか
860: (ワッチョイ df9f-2Ge4) 2017/07/21(金)04:01 ID:7GF1vWDt0(1/5) AAS
extern "C" __declspec(dllexport) int __stdcall func(int,int){}
"?AAA@@YGHHH@Z"のような吐き気催す引数無くした名前だけ出力したい場合は extern "C" を前に付けると解決
861: (ワッチョイ a7b4-jxVo) 2017/07/21(金)07:00 ID:h5hvtEqn0(1) AAS
外部リンク:qiita.com
uniqu_ptrに頼って生歩使わないとか、
そんなだったらはじめからC++なんか使うな
アホはC++使うなって見本
>リソースを生で使うのは アンチデザパタです!
それがどーした。パターンでしか考えられないお前
862: (ワッチョイ a709-leQM) 2017/07/21(金)07:42 ID:7e+pM3K/0(1/3) AAS
えらいねー。
863: (スッップ Sdff-AsiQ) 2017/07/21(金)07:57 ID:SclDYwDCd(1/4) AAS
所有権を持った人が自分でnew deleteするってのは確かにもうあり得ないでいいだろう。
それを「生ポインタを使わない」と表現するのは言い過ぎというか誤解を生む。
864(1): (ワッチョイ 274b-G5Pk) 2017/07/21(金)08:46 ID:2RjE57oB0(1) AAS
生保使う場面ってどんな時だろ?
865: (ドコグロ MM9f-tIP3) 2017/07/21(金)08:47 ID:fYLttpYeM(1/2) AAS
delete禁止構文欲しいぜ
866: (ワッチョイ a709-leQM) 2017/07/21(金)08:49 ID:7e+pM3K/0(2/3) AAS
生ぽは、その場で文字列生成して関数に食わせる以外は参照だなぁ。
867: (ドコグロ MM9f-tIP3) 2017/07/21(金)08:54 ID:fYLttpYeM(2/2) AAS
>>864
nullptr受け取る可能性のある古臭い設計のコードを使うときじゃね?
自分で設計するときは使わん。
868: (スッップ Sdff-AsiQ) 2017/07/21(金)10:34 ID:SclDYwDCd(2/4) AAS
自分でnew deleteするなんて発想が無くなってきたから別にポインタ渡しに違和感ないけどな
869: (ワッチョイ a709-leQM) 2017/07/21(金)11:14 ID:7e+pM3K/0(3/3) AAS
設計的にどうなんだろう。
870: (スッップ Sdff-AsiQ) 2017/07/21(金)11:40 ID:SclDYwDCd(3/4) AAS
生ポインタは誰が資源管理するのか曖昧になるからよくない、って主張は昔はあったと思う。
いまソースコードを検索してnew もdeleteも見当たらないという状況なら、そんなのはもう
忘れていいと思う。
871: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ df15-QK4i) 2017/07/21(金)12:08 ID:2BokDUmp0(1) AAS
例外が発生したときの後始末なんかもきちんとしようと考えると面倒くさいし、
スマートポインタは積極的に使うべきなんだろうな。
872: (ワッチョイ 47e4-OcZC) 2017/07/21(金)12:40 ID:OjZ8KrLm0(2/4) AAS
Qtみたいな自分でnewはするけど親オブジェクトがdeleteしてくれるようなものもある
873: (ワッチョイ df9f-2Ge4) 2017/07/21(金)17:13 ID:7GF1vWDt0(2/5) AAS
unique_ptrとか中身リファレンサだろうしリファレンサとかクラスで自己実装しちゃうけどね
874: (ワッチョイ df9f-2Ge4) 2017/07/21(金)17:16 ID:7GF1vWDt0(3/5) AAS
あ、unique_ptrは複製が効かないポインタか
shared_ptrと混同していたorz
875: (ワッチョイ df9f-2Ge4) 2017/07/21(金)17:18 ID:7GF1vWDt0(4/5) AAS
でもイラネな
unique_ptrでメンバ全部実装やるとアタマ狂うだろ多分
876(1): (ワッチョイ 67a2-fDNv) 2017/07/21(金)18:24 ID:uK7tgvol0(1/2) AAS
いらないとか使わないとか言いつつ、実のところ、理解できなくて使えません、って人を現場で何人も見てきたよ。
877: (ワンミングク MMbf-Y5fB) 2017/07/21(金)18:39 ID:rSdKKkw+M(1/2) AAS
うちのプロダクションコードほぼ100%はユニポだよ
リファレンスはそこらじゅうでもってるけど
878(1): (スッップ Sdff-AsiQ) 2017/07/21(金)18:56 ID:SclDYwDCd(4/4) AAS
>>876
なんでそんなやつを雇ったんだよ
879: (ワッチョイ 67a2-fDNv) 2017/07/21(金)19:36 ID:uK7tgvol0(2/2) AAS
>>878
人手不足なんじゃね?
俺が雇ったわけじゃないし、派遣さんとかだと法律上選べないでしょ。
880: (ワッチョイ ff32-3c2/) 2017/07/21(金)21:20 ID:QkEYt5+b0(1) AAS
誰も触れないけど、delete[] だよな?
まぁ、さておき、new使うか?
オレnew自体ほとんど使わないんだけど。。。
組み込み系だとやっぱ使うのかね?
メモリ管理なんて、スタック上とか、コンテナに任せちゃえば、いいとおもうんだ。
881: (ワッチョイ 47e4-OcZC) 2017/07/21(金)21:43 ID:OjZ8KrLm0(3/4) AAS
いいと思うよ
今のバージョンではnewを使わせるライブラリ以外で使う状況が無い
882: (スプッッ Sd7f-AsiQ) 2017/07/21(金)22:02 ID:mLcSl7GWd(1) AAS
make_uniqueとmake_sharedが出来てからはな
883(1): (ワッチョイ bfaf-BQa+) 2017/07/21(金)22:10 ID:l1puV9v10(1/2) AAS
templateでエラーが出された場合なんかでチェックするために
templateが展開された状態を見る手法みたいなのってありますかね?
884: (ワンミングク MMbf-Y5fB) 2017/07/21(金)22:26 ID:rSdKKkw+M(2/2) AAS
make_sharedってカスタムデリータいれられたっけ?
885: (ワッチョイ bfaf-BQa+) 2017/07/21(金)22:50 ID:l1puV9v10(2/2) AAS
Xcodeのビルドログ見たらほぼ>>883だったので>>883は取り下げます
886: (ワッチョイ df9f-2Ge4) 2017/07/21(金)23:09 ID:7GF1vWDt0(5/5) AAS
使い方は解るよ
ただ、自転車の補助輪みたいだなと
887: (ワッチョイ 47e4-OcZC) 2017/07/21(金)23:15 ID:OjZ8KrLm0(4/4) AAS
そういうのより
std::vector<int> v;
↑これを右クリックして展開されたコードを表示するようなことがしたい
888: (スップ Sd7f-7lrd) 2017/07/22(土)17:58 ID:0MeMH5fDd(1) AAS
>>856
わざわざサンクス
全く同じことしたけども吐き気催すような名前はついたままだったからdefファイルで対応することにしたよ
889: (ワッチョイ bfc5-/jiT) 2017/07/22(土)19:30 ID:RGdGfASA0(1/2) AAS
わざわざマングルされたメソッド名をエクスポートなどせずともファクトリーメソッドにすれば良いのでは…
ファクトリーメソッド自体はextern "C"で逝ける
DLL側のコードで確保したメモリはDLL側で開放する(プロセス本体側のコードで確保したメモリはプロセス本体側で開放する)
という点は気おつけねばならないが
と流れを読まずにレス
890: (ワッチョイ bfc5-/jiT) 2017/07/22(土)20:49 ID:RGdGfASA0(2/2) AAS
スマンorz
誤: ファクトリーメソッド
正: アブストラクトファクトリーメソッド
アブストラクトファクトリーメソッドなら具象クラスのコードは全部DLLL側になるので安心
オブジェクトのdeleteもDLLL側でやるように関数を設けてDLLLからエクスポートしてそれを使う
891: (ワッチョイ dff0-E/h9) 2017/07/22(土)20:53 ID:XKQJiiwl0(1/2) AAS
DLLLL?
892: (ブーイモ MMcf-fDNv) 2017/07/22(土)20:59 ID:g3jBnlfdM(1) AAS
どぅるるる
893: (ワッチョイ dff0-E/h9) 2017/07/22(土)21:12 ID:XKQJiiwl0(2/2) AAS
DLLゲームというものがあり、この四つの規則だけでDIIをDLLに変換できるか、というのがパズルの主旨である
894: (ワッチョイ 276f-hfaq) 2017/07/23(日)02:54 ID:JReadhjR0(1) AAS
new,new[],delete,delete[]を定義すれば、全てDLL側で実装出来るでしょう?
895: (スプッッ Sd7f-7lrd) 2017/07/23(日)11:16 ID:T5oE3FpLd(1/6) AAS
CPUやOSに依存したいコーディング難しいよう
896(1): (ワッチョイ df9f-2Ge4) 2017/07/23(日)11:25 ID:Rkw6OP4p0(1) AAS
依存姿態?
897: (スプッッ Sd7f-7lrd) 2017/07/23(日)11:26 ID:T5oE3FpLd(2/6) AAS
>>896
しないだった
898(1): (スッップ Sdff-z/ev) 2017/07/23(日)12:41 ID:7fREas1Ld(1/9) AAS
エンディアン
charのサイズ
負の数の表現方法
この辺がくせ者
899(1): (ワッチョイ a7c5-/jiT) 2017/07/23(日)12:43 ID:Z5IwvI350(1/5) AAS
符号付整数の右シフトとwrap aroundは未定義動作
だがあんま認識してる人が居ないという
900: (スッップ Sdff-z/ev) 2017/07/23(日)12:47 ID:7fREas1Ld(2/9) AAS
charが16bitや32bitだと、
8bit単位のデータを扱うのが非常に面倒
現実的にはパック形式も必要になるので
901: (スッップ Sdff-z/ev) 2017/07/23(日)12:48 ID:7fREas1Ld(3/9) AAS
負の数もいろいと
00...0はトラップ値だったり
902: (スッップ Sdff-z/ev) 2017/07/23(日)12:49 ID:7fREas1Ld(4/9) AAS
80...00の間違い
上下前次1-新書関写板覧索設栞歴
あと 100 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.060s