次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part129
http://echo.2ch.net/test/read.cgi/tech/1483940967/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.100【環境依存OK】
http://echo.2ch.net/test/read.cgi/tech/1478440682/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
C++相談室 part130 [無断転載禁止]©2ch.net
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ f37a-QmV0)
2017/03/31(金) 08:47:49.65ID:UkLjKqcm0813片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:02:10.86ID:MaD+cEa1d まずは、出来たdllをダンプしてみな。関数型にはWINAPIが必要だよ。
814デフォルトの名無しさん (オッペケ Srea-hJ3a)
2017/07/19(水) 22:06:19.96ID:QocMLB2Ar815片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:06:40.85ID:MaD+cEa1d こういう場合は関数ポインタ型をtypedefしたら楽だよ。
816デフォルトの名無しさん (スプッッ Sd9e-aKa0)
2017/07/19(水) 22:10:20.05ID:ogeQAtV7d817片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:12:49.52ID:MaD+cEa1d typedef int (WINAPI *MYFUNC)(int, int);
818デフォルトの名無しさん (スプッッ Sd9e-aKa0)
2017/07/19(水) 22:13:35.01ID:ogeQAtV7d __stdcallがないってことか!!!!!
819片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:14:01.35ID:MaD+cEa1d dumpbinというダンプツールがあるから、それを使ってdllの情報をダンプする。
820片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:16:16.73ID:MaD+cEa1d どうやってdllを作った? 初心者だから作り方間違ってる可能性がある。
821デフォルトの名無しさん (スプッッ Sd9e-aKa0)
2017/07/19(水) 22:18:12.53ID:ogeQAtV7d >>820
ダンプするってのがほぼほぼ理解できてない
visualstudioでdll選んで空のプロジェクトを選んだ
それでcpp追加してその内容にさっきの構文とおまじないのwinmainを書いてビルド
ダンプするってのがほぼほぼ理解できてない
visualstudioでdll選んで空のプロジェクトを選んだ
それでcpp追加してその内容にさっきの構文とおまじないのwinmainを書いてビルド
822片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:21:21.65ID:MaD+cEa1d >>821
dllの場合はWinMain要らない。ダンプは専用のコマンドプロンプトで行う。ってことは、コマンドプロンプトの使い方も勉強しないといけない。
dllの場合はWinMain要らない。ダンプは専用のコマンドプロンプトで行う。ってことは、コマンドプロンプトの使い方も勉強しないといけない。
823片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:22:37.56ID:MaD+cEa1d DLLの場合はDllMainだね。
824デフォルトの名無しさん (スプッッ Sd9e-aKa0)
2017/07/19(水) 22:25:28.38ID:ogeQAtV7d825片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:25:41.24ID:MaD+cEa1d あっ、それからC++からC言語の関数を定義・参照するにはextern "C"を付けないといけない。
826片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:31:08.38ID:MaD+cEa1d C++関数のシンボル名は「mangling」によって変な名前になり、コンパイラーによって違うから(標準化されていない)、DLLでは使いづらいので、C言語関数にすることが多い。
827片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:39:22.35ID:MaD+cEa1d DLL内部の輸出関数にextern "C"を付けてC言語関数にする。
関数ポインター型をtypedefする。
DLLをダンプして関数シンボル名を確認する。
関数ポインター型をtypedefする。
DLLをダンプして関数シンボル名を確認する。
828デフォルトの名無しさん (スプッッ Sd9e-aKa0)
2017/07/19(水) 22:41:38.53ID:ogeQAtV7d >>825
C言語の関数を定義参照するってのは.cファイルが出てきたときの話よね?
C言語の関数を定義参照するってのは.cファイルが出てきたときの話よね?
829片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:43:26.89ID:MaD+cEa1d コンパイラーによって違うが、C言語関数が__cdeclのときは、そのシンボル名は先頭に下線が付き、__stdcallのときは関数名そのままだったかと。
830片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:46:12.04ID:MaD+cEa1d >>828
C++でDLL関数を参照するときは、DLL関数がC言語関数でないと、シンボル名がややこしくなって、GetProcAddressが難しくなるよ。ダンプすればシンボル名が確認できる。
C++でDLL関数を参照するときは、DLL関数がC言語関数でないと、シンボル名がややこしくなって、GetProcAddressが難しくなるよ。ダンプすればシンボル名が確認できる。
831デフォルトの名無しさん (スプッッ Sd9e-aKa0)
2017/07/19(水) 22:51:10.86ID:ogeQAtV7d832片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:54:29.77ID:MaD+cEa1d スタートメニューのVSの項目に、「なんちゃらコマンドプロンプト」というのがあるはずだ。
ソイツを起動すると黒い画面が出て来て、キーボードで「CD」コマンドで対象のフォルダに移動。
dumpbinに適当なコマンドライン引数を付けてEnter。
ソイツを起動すると黒い画面が出て来て、キーボードで「CD」コマンドで対象のフォルダに移動。
dumpbinに適当なコマンドライン引数を付けてEnter。
833片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:56:32.59ID:MaD+cEa1d >>831
DllMainにも__stdcallが必要。
DllMainにも__stdcallが必要。
834片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 22:59:03.92ID:MaD+cEa1d >>831
関数の引数と戻り値がC言語関数に見えれば中身C++でもOkay。
関数の引数と戻り値がC言語関数に見えれば中身C++でもOkay。
835デフォルトの名無しさん (スプッッ Sd9e-aKa0)
2017/07/19(水) 22:59:52.02ID:ogeQAtV7d836片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 23:00:31.80ID:MaD+cEa1d __stdcallやWINAPIなどを付けなければ、デフォルトで__cdeclになる。
837片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 23:02:59.40ID:MaD+cEa1d コンパイラーによってはデフォルトの呼び出し規約を変更できるかも知れない。
838片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 23:07:11.36ID:MaD+cEa1d 複数の関数を、extern "C" { ... } で囲ってもいいし、関数の直前にextern "C"を付けてもいい。
839デフォルトの名無しさん (スプッッ Sd9e-aKa0)
2017/07/19(水) 23:10:05.85ID:ogeQAtV7d >>838
個々につけた方が明示的で良いように思ったので個々でつけることにします
dll難しい....
linuxのsoファイル作成のソースコードと、winのdll作成のコードを共通化しようとしたら
defineで切るしかない??
個々につけた方が明示的で良いように思ったので個々でつけることにします
dll難しい....
linuxのsoファイル作成のソースコードと、winのdll作成のコードを共通化しようとしたら
defineで切るしかない??
840デフォルトの名無しさん (スプッッ Sd9e-aKa0)
2017/07/19(水) 23:14:11.62ID:ogeQAtV7d 質問ばかりで申し訳ないけどもヘッダファイルって作られないのかな?
dll側で定義した関数を公開するときにインポートライブラリで読み込ませるならばヘッダファイル必要になると思うのだけど
それは自身で作成することになる??
dll側で定義した関数を公開するときにインポートライブラリで読み込ませるならばヘッダファイル必要になると思うのだけど
それは自身で作成することになる??
841デフォルトの名無しさん (ワッチョイ f6e4-PXrN)
2017/07/19(水) 23:16:07.85ID:rRbujBCW0 >>839
Boost.DLLを使う
Boost.DLLを使う
842片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 23:17:50.12ID:MaD+cEa1d843片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 23:25:33.39ID:MaD+cEa1d WinMainやDllMainなど以外で自分で作った関数については、WINAPIよりもAPIENTRYを使うのがマナー。
844デフォルトの名無しさん (スプッッ Sd9e-aKa0)
2017/07/19(水) 23:28:24.94ID:ogeQAtV7d845デフォルトの名無しさん (ワッチョイ 96ea-zKZC)
2017/07/19(水) 23:30:05.93ID:K+rHLYmS0 もう面倒だからC#で作れよ
846片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 23:32:25.59ID:MaD+cEa1d <windows.h>の中身を覗いてみると、Win32APIの流儀が見えてくる。時間泥棒かも知れないが、それが面白い。
847片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 23:35:11.33ID:MaD+cEa1d Boostという準標準ライブラリ群があって、Boost.DLLはその一部。APIENTRYマクロはWINAPIマクロの別名。
848片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 23:39:27.90ID:MaD+cEa1d 面倒なのが嫌なら最初からC#使え。C++は素人が来るところではない。
849デフォルトの名無しさん (スプッッ Sd9e-aKa0)
2017/07/19(水) 23:46:25.94ID:ogeQAtV7d >>845
開発でC++が必須なんだ..
開発でC++が必須なんだ..
850片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-qcL/)
2017/07/19(水) 23:50:31.02ID:MaD+cEa1d で、問題は解決したか?
851デフォルトの名無しさん (ワッチョイ f6e4-PXrN)
2017/07/19(水) 23:52:51.09ID:rRbujBCW0 それはいいけどググればすぐ解決する程度の問題をわざわざ人に聞くべきではない
852デフォルトの名無しさん (ワッチョイ 274b-FPZE)
2017/07/20(木) 00:02:01.05ID:a17NgPNI0 ググれってよく見るけど、最近はググった結果がQiitaとかで余計わからなくなる人いそう
853デフォルトの名無しさん (スプッッ Sd7f-7lrd)
2017/07/20(木) 00:26:00.45ID:68uSpz6dd854デフォルトの名無しさん (ワッチョイ 47e4-OcZC)
2017/07/20(木) 00:35:16.57ID:am65me5o0 色々は無いでしょ
855デフォルトの名無しさん (ワッチョイ dff0-E/h9)
2017/07/20(木) 11:41:47.84ID:aRd+na0X0856デフォルトの名無しさん (オッペケ Sr1b-3YgS)
2017/07/20(木) 19:54:56.95ID:z9hoJ4whr >>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) にする
2. テキストファイルunko.defを作り
EXPORTS
(TAB)AAA
と書いてプロジェクトのプロパティのリンク設定でこのファイルをモジュール定義ファイルに指定する
ひょっとしてまだやってるのか?
方法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) にする
2. テキストファイルunko.defを作り
EXPORTS
(TAB)AAA
と書いてプロジェクトのプロパティのリンク設定でこのファイルをモジュール定義ファイルに指定する
857デフォルトの名無しさん (ササクッテロリ Sp1b-Iuq2)
2017/07/20(木) 23:54:34.71ID:8WEeg4Ctp winapiの流儀とか見ていて吐き気を催す
858デフォルトの名無しさん (ワッチョイ 47e4-OcZC)
2017/07/21(金) 00:44:29.75ID:OjZ8KrLm0 WINAPIのtypedefされた型を元のプリミティブ型に書き直すのが趣味です
859デフォルトの名無しさん (ワッチョイ dfaa-E/h9)
2017/07/21(金) 00:47:34.17ID:zOHs/jgU0 F12を叩きたいのか
860デフォルトの名無しさん (ワッチョイ df9f-2Ge4)
2017/07/21(金) 04:01:38.56ID:7GF1vWDt0 extern "C" __declspec(dllexport) int __stdcall func(int,int){}
"?AAA@@YGHHH@Z"のような吐き気催す引数無くした名前だけ出力したい場合は extern "C" を前に付けると解決
"?AAA@@YGHHH@Z"のような吐き気催す引数無くした名前だけ出力したい場合は extern "C" を前に付けると解決
861デフォルトの名無しさん (ワッチョイ a7b4-jxVo)
2017/07/21(金) 07:00:36.74ID:h5hvtEqn0 http://qiita.com/YukiMiyatake/items/9c099041eab9ee8b349d
uniqu_ptrに頼って生歩使わないとか、
そんなだったらはじめからC++なんか使うな
アホはC++使うなって見本
>リソースを生で使うのは アンチデザパタです!
それがどーした。パターンでしか考えられないお前
uniqu_ptrに頼って生歩使わないとか、
そんなだったらはじめからC++なんか使うな
アホはC++使うなって見本
>リソースを生で使うのは アンチデザパタです!
それがどーした。パターンでしか考えられないお前
862デフォルトの名無しさん (ワッチョイ a709-leQM)
2017/07/21(金) 07:42:02.40ID:7e+pM3K/0 えらいねー。
863デフォルトの名無しさん (スッップ Sdff-AsiQ)
2017/07/21(金) 07:57:26.95ID:SclDYwDCd 所有権を持った人が自分でnew deleteするってのは確かにもうあり得ないでいいだろう。
それを「生ポインタを使わない」と表現するのは言い過ぎというか誤解を生む。
それを「生ポインタを使わない」と表現するのは言い過ぎというか誤解を生む。
864デフォルトの名無しさん (ワッチョイ 274b-G5Pk)
2017/07/21(金) 08:46:52.32ID:2RjE57oB0 生保使う場面ってどんな時だろ?
865デフォルトの名無しさん (ドコグロ MM9f-tIP3)
2017/07/21(金) 08:47:22.86ID:fYLttpYeM delete禁止構文欲しいぜ
866デフォルトの名無しさん (ワッチョイ a709-leQM)
2017/07/21(金) 08:49:46.05ID:7e+pM3K/0 生ぽは、その場で文字列生成して関数に食わせる以外は参照だなぁ。
867デフォルトの名無しさん (ドコグロ MM9f-tIP3)
2017/07/21(金) 08:54:06.32ID:fYLttpYeM868デフォルトの名無しさん (スッップ Sdff-AsiQ)
2017/07/21(金) 10:34:18.10ID:SclDYwDCd 自分でnew deleteするなんて発想が無くなってきたから別にポインタ渡しに違和感ないけどな
869デフォルトの名無しさん (ワッチョイ a709-leQM)
2017/07/21(金) 11:14:02.61ID:7e+pM3K/0 設計的にどうなんだろう。
870デフォルトの名無しさん (スッップ Sdff-AsiQ)
2017/07/21(金) 11:40:31.31ID:SclDYwDCd 生ポインタは誰が資源管理するのか曖昧になるからよくない、って主張は昔はあったと思う。
いまソースコードを検索してnew もdeleteも見当たらないという状況なら、そんなのはもう
忘れていいと思う。
いまソースコードを検索してnew もdeleteも見当たらないという状況なら、そんなのはもう
忘れていいと思う。
871はちみつ餃子 ◆8X2XSCHEME (ワッチョイ df15-QK4i)
2017/07/21(金) 12:08:08.05ID:2BokDUmp0 例外が発生したときの後始末なんかもきちんとしようと考えると面倒くさいし、
スマートポインタは積極的に使うべきなんだろうな。
スマートポインタは積極的に使うべきなんだろうな。
872デフォルトの名無しさん (ワッチョイ 47e4-OcZC)
2017/07/21(金) 12:40:47.73ID:OjZ8KrLm0 Qtみたいな自分でnewはするけど親オブジェクトがdeleteしてくれるようなものもある
873デフォルトの名無しさん (ワッチョイ df9f-2Ge4)
2017/07/21(金) 17:13:44.75ID:7GF1vWDt0 unique_ptrとか中身リファレンサだろうしリファレンサとかクラスで自己実装しちゃうけどね
874デフォルトの名無しさん (ワッチョイ df9f-2Ge4)
2017/07/21(金) 17:16:06.65ID:7GF1vWDt0 あ、unique_ptrは複製が効かないポインタか
shared_ptrと混同していたorz
shared_ptrと混同していたorz
875デフォルトの名無しさん (ワッチョイ df9f-2Ge4)
2017/07/21(金) 17:18:37.74ID:7GF1vWDt0 でもイラネな
unique_ptrでメンバ全部実装やるとアタマ狂うだろ多分
unique_ptrでメンバ全部実装やるとアタマ狂うだろ多分
876デフォルトの名無しさん (ワッチョイ 67a2-fDNv)
2017/07/21(金) 18:24:31.33ID:uK7tgvol0 いらないとか使わないとか言いつつ、実のところ、理解できなくて使えません、って人を現場で何人も見てきたよ。
877デフォルトの名無しさん (ワンミングク MMbf-Y5fB)
2017/07/21(金) 18:39:26.01ID:rSdKKkw+M うちのプロダクションコードほぼ100%はユニポだよ
リファレンスはそこらじゅうでもってるけど
リファレンスはそこらじゅうでもってるけど
878デフォルトの名無しさん (スッップ Sdff-AsiQ)
2017/07/21(金) 18:56:21.10ID:SclDYwDCd >>876
なんでそんなやつを雇ったんだよ
なんでそんなやつを雇ったんだよ
879デフォルトの名無しさん (ワッチョイ 67a2-fDNv)
2017/07/21(金) 19:36:52.29ID:uK7tgvol0880デフォルトの名無しさん (ワッチョイ ff32-3c2/)
2017/07/21(金) 21:20:11.09ID:QkEYt5+b0 誰も触れないけど、delete[] だよな?
まぁ、さておき、new使うか?
オレnew自体ほとんど使わないんだけど。。。
組み込み系だとやっぱ使うのかね?
メモリ管理なんて、スタック上とか、コンテナに任せちゃえば、いいとおもうんだ。
まぁ、さておき、new使うか?
オレnew自体ほとんど使わないんだけど。。。
組み込み系だとやっぱ使うのかね?
メモリ管理なんて、スタック上とか、コンテナに任せちゃえば、いいとおもうんだ。
881デフォルトの名無しさん (ワッチョイ 47e4-OcZC)
2017/07/21(金) 21:43:07.75ID:OjZ8KrLm0 いいと思うよ
今のバージョンではnewを使わせるライブラリ以外で使う状況が無い
今のバージョンではnewを使わせるライブラリ以外で使う状況が無い
882デフォルトの名無しさん (スプッッ Sd7f-AsiQ)
2017/07/21(金) 22:02:26.89ID:mLcSl7GWd make_uniqueとmake_sharedが出来てからはな
883デフォルトの名無しさん (ワッチョイ bfaf-BQa+)
2017/07/21(金) 22:10:51.61ID:l1puV9v10 templateでエラーが出された場合なんかでチェックするために
templateが展開された状態を見る手法みたいなのってありますかね?
templateが展開された状態を見る手法みたいなのってありますかね?
884デフォルトの名無しさん (ワンミングク MMbf-Y5fB)
2017/07/21(金) 22:26:33.98ID:rSdKKkw+M make_sharedってカスタムデリータいれられたっけ?
885デフォルトの名無しさん (ワッチョイ bfaf-BQa+)
2017/07/21(金) 22:50:57.29ID:l1puV9v10886デフォルトの名無しさん (ワッチョイ df9f-2Ge4)
2017/07/21(金) 23:09:04.52ID:7GF1vWDt0 使い方は解るよ
ただ、自転車の補助輪みたいだなと
ただ、自転車の補助輪みたいだなと
887デフォルトの名無しさん (ワッチョイ 47e4-OcZC)
2017/07/21(金) 23:15:13.65ID:OjZ8KrLm0 そういうのより
std::vector<int> v;
↑これを右クリックして展開されたコードを表示するようなことがしたい
std::vector<int> v;
↑これを右クリックして展開されたコードを表示するようなことがしたい
888デフォルトの名無しさん (スップ Sd7f-7lrd)
2017/07/22(土) 17:58:14.35ID:0MeMH5fDd889デフォルトの名無しさん (ワッチョイ bfc5-/jiT)
2017/07/22(土) 19:30:56.71ID:RGdGfASA0 わざわざマングルされたメソッド名をエクスポートなどせずともファクトリーメソッドにすれば良いのでは…
ファクトリーメソッド自体はextern "C"で逝ける
DLL側のコードで確保したメモリはDLL側で開放する(プロセス本体側のコードで確保したメモリはプロセス本体側で開放する)
という点は気おつけねばならないが
と流れを読まずにレス
ファクトリーメソッド自体はextern "C"で逝ける
DLL側のコードで確保したメモリはDLL側で開放する(プロセス本体側のコードで確保したメモリはプロセス本体側で開放する)
という点は気おつけねばならないが
と流れを読まずにレス
890デフォルトの名無しさん (ワッチョイ bfc5-/jiT)
2017/07/22(土) 20:49:40.35ID:RGdGfASA0 スマンorz
誤: ファクトリーメソッド
正: アブストラクトファクトリーメソッド
アブストラクトファクトリーメソッドなら具象クラスのコードは全部DLLL側になるので安心
オブジェクトのdeleteもDLLL側でやるように関数を設けてDLLLからエクスポートしてそれを使う
誤: ファクトリーメソッド
正: アブストラクトファクトリーメソッド
アブストラクトファクトリーメソッドなら具象クラスのコードは全部DLLL側になるので安心
オブジェクトのdeleteもDLLL側でやるように関数を設けてDLLLからエクスポートしてそれを使う
891デフォルトの名無しさん (ワッチョイ dff0-E/h9)
2017/07/22(土) 20:53:28.27ID:XKQJiiwl0 DLLLL?
892デフォルトの名無しさん (ブーイモ MMcf-fDNv)
2017/07/22(土) 20:59:49.34ID:g3jBnlfdM どぅるるる
893デフォルトの名無しさん (ワッチョイ dff0-E/h9)
2017/07/22(土) 21:12:32.20ID:XKQJiiwl0 DLLゲームというものがあり、この四つの規則だけでDIIをDLLに変換できるか、というのがパズルの主旨である
894デフォルトの名無しさん (ワッチョイ 276f-hfaq)
2017/07/23(日) 02:54:24.55ID:JReadhjR0 new,new[],delete,delete[]を定義すれば、全てDLL側で実装出来るでしょう?
895デフォルトの名無しさん (スプッッ Sd7f-7lrd)
2017/07/23(日) 11:16:55.64ID:T5oE3FpLd CPUやOSに依存したいコーディング難しいよう
896デフォルトの名無しさん (ワッチョイ df9f-2Ge4)
2017/07/23(日) 11:25:11.61ID:Rkw6OP4p0 依存姿態?
897デフォルトの名無しさん (スプッッ Sd7f-7lrd)
2017/07/23(日) 11:26:02.43ID:T5oE3FpLd >>896
しないだった
しないだった
898デフォルトの名無しさん (スッップ Sdff-z/ev)
2017/07/23(日) 12:41:00.33ID:7fREas1Ld エンディアン
charのサイズ
負の数の表現方法
この辺がくせ者
charのサイズ
負の数の表現方法
この辺がくせ者
899デフォルトの名無しさん (ワッチョイ a7c5-/jiT)
2017/07/23(日) 12:43:24.45ID:Z5IwvI350 符号付整数の右シフトとwrap aroundは未定義動作
だがあんま認識してる人が居ないという
だがあんま認識してる人が居ないという
900デフォルトの名無しさん (スッップ Sdff-z/ev)
2017/07/23(日) 12:47:13.35ID:7fREas1Ld charが16bitや32bitだと、
8bit単位のデータを扱うのが非常に面倒
現実的にはパック形式も必要になるので
8bit単位のデータを扱うのが非常に面倒
現実的にはパック形式も必要になるので
901デフォルトの名無しさん (スッップ Sdff-z/ev)
2017/07/23(日) 12:48:45.60ID:7fREas1Ld 負の数もいろいと
00...0はトラップ値だったり
00...0はトラップ値だったり
902デフォルトの名無しさん (スッップ Sdff-z/ev)
2017/07/23(日) 12:49:28.11ID:7fREas1Ld 80...00の間違い
903デフォルトの名無しさん (スッップ Sdff-z/ev)
2017/07/23(日) 12:50:38.60ID:7fREas1Ld near farとか
各種pragmaとかアラインメントとか
機種依存しないコードなんてのは実際には妄想
各種pragmaとかアラインメントとか
機種依存しないコードなんてのは実際には妄想
904デフォルトの名無しさん (スッップ Sdff-z/ev)
2017/07/23(日) 12:52:19.16ID:7fREas1Ld 使用可能リソースがそもそも違う
905デフォルトの名無しさん (ワッチョイ df33-9XI3)
2017/07/23(日) 14:01:31.88ID:Ach+AE6n0 stdintじゃいかんの?
906デフォルトの名無しさん (スッップ Sdff-z/ev)
2017/07/23(日) 14:22:24.82ID:7fREas1Ld それで何が解決する?
907デフォルトの名無しさん (ワッチョイ 47e4-OcZC)
2017/07/23(日) 14:38:32.39ID:+MmkkbFw0 そういうのは必要な人がパッチを書けばいい
プロジェクトのメインの開発者は一般的なPC用CPUだけ想定していればいい
プロジェクトのメインの開発者は一般的なPC用CPUだけ想定していればいい
908デフォルトの名無しさん (スッップ Sdff-z/ev)
2017/07/23(日) 15:01:31.12ID:7fREas1Ld 組み込み機器を完全に無視した発言
909デフォルトの名無しさん (スプッッ Sd7f-7lrd)
2017/07/23(日) 16:52:13.50ID:T5oE3FpLd エンディアンへの注意と
sizeof演算子への注意と
unsignedか否か
この辺を注意すればまずは良いんだね
sizeof演算子への注意と
unsignedか否か
この辺を注意すればまずは良いんだね
910デフォルトの名無しさん (スッップ Sdff-z/ev)
2017/07/23(日) 16:57:12.36ID:7fREas1Ld911デフォルトの名無しさん (スプッッ Sd7f-7lrd)
2017/07/23(日) 17:23:53.30ID:T5oE3FpLd 難しいな
色々なPCで動作させようとするのは
ところでdllでもsoでも使えるようなコード書きたいんだけども
呼び出し部分だけifdef切るのとソースコード自体わけるのとどちらが良いんだろ?
色々なPCで動作させようとするのは
ところでdllでもsoでも使えるようなコード書きたいんだけども
呼び出し部分だけifdef切るのとソースコード自体わけるのとどちらが良いんだろ?
912デフォルトの名無しさん (ワッチョイ 276f-dw5s)
2017/07/23(日) 17:27:19.50ID:71jKdlZw0 dllと言えばdllの呼び出し口以外の内部で完結してるような関数ってどうやってテストするんだろう
俺それやったことねえや
俺それやったことねえや
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 今年の漢字 [ぐれ★]
- 今年の漢字は「熊」に決定! 相次ぐクマ被害 去年は「金」 [冬月記者★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★4 [蚤の市★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★3 [冬月記者★]
- あぼーん
- 【速報】衆院議員定数削減法案、自民・維新が今国会成立見送りで調整 [Hitzeschleier★]
- 【ウヨ発狂】市民団体が「航空自衛隊の航空祭」に『戦争になるかもしれない』中止求め会見_ネットで批判コメント殺到_沖縄 [979264442]
- 残クレタワマン、始まるwwwwwwwwwwwwwwwwwwwwwwwww [329329848]
- 【速報】今年の漢字、「熊」!wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 【毎日新聞】高市首相の「アイドル化」?若年層、同じ政策でも変化する評価 [718678614]
- ガソリンスタンドで携行缶にガソリンを入れようとしたらてぇいんさんに怒られた🥺
- 【速報】今年のゲームオブザイヤー、Clair Obscur: Expedition 33 [779938112]
