1 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 23:27:47.92 ID:pbJTQx9M.net] エスケープシーケンスやWin32APIなどの環境依存なものでもOK。 ただしその場合、質問者は必ず環境を書きましょう。 ◆ソースのインデントについて 半角空白やTABでのインデントはスレに貼ると無くなります。 そのため、アップローダーに上げるのも手ですが直接貼る場合は、 全角空白か に置換すると見栄えだけはよくなります。 【アップローダー】(質問が長い時はココ使うと便利) codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック) ideone.com/ (時間帯によってはcodepadが重い事があるのでここも
830 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 10:30:11.56 ID:theP84i7.net] >>810 >0 が表示されたらその処理系では真の乱数がサポートされてい とりあえす嘘を教えるな
831 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 10:32:56.85 ID:/EsSmyHW.net] >>809 お前は とりあえず人間として生きるのに向いてなさそう
832 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 10:35:34.58 ID:UX3o5Q0t.net] ttps://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/tr1/random.h ttps://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/src/c%2B%2B11/random.cc cygwinに入ってるのはちゃんとしてるのかね やっぱりmt19937を呼んでるな
833 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 10:36:39.90 ID:JaqU9d1i.net] >>803 ハードウェアエントロピーを取得できるか確認せず 取得できると決め込んで処理して その結果意図した挙動をしないのだから 明らかにコードの問題だろう これでコードに問題ないと決めつけてるのはどうかしてる
834 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 10:39:02.21 ID:theP84i7.net] ちなみに自分の環境では、TPMの無いコンピューターに入れたウブンコの GCCだとentropy()が0を返すな こいつは信用ならない >>819 何故ですか? 規格上はハードウェア機能の有無に関わらず固定値を返してはなりませんよ
835 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 10:41:32.31 ID:1Qy7XHWg.net] 乱数だから実行環境ごとに挙動が変わるのが普通なんじゃない?
836 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 10:42:42.77 ID:j3bVGMZR.net] >>816 >If the library implementation employs a random number engine instead of a real-random number generator, >the value returned by this function is always zero. >>811 rand()でもプログラム走らせる度に同じ乱数系列になってしまうだろ アホか >>813 「真の乱数」を返す方法はいろいろ議論されてるね PIDを使うとか Linuxには/dev/random MinGWのgccは手抜きだな
837 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 10:43:44.83 ID:Ebj0wxFB.net] 疑似乱数だと変わらなかったりする
838 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 10:45:36.38 ID:/EsSmyHW.net] >>816 規格の§26.5.6-5には If the implementation employs a random number engine, returns 0.0. とあるから>>810 は嘘ではない
839 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 10:45:37.50 ID:theP84i7.net] >>822 >instead of a real-random number generator なるほどそれか、勘違いしたすまぬ
840 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 10:50:55.65 ID:/EsSmyHW.net] cygwinのgcc(4.9.2)ではentropy()は0を返す
841 名前:ッどoperator()は毎回違う値になる [] [ここ壊れてます]
842 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 10:58:15.70 ID:ZwKNfUvh.net] この流れなら聞ける エントロピーってなに?
843 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 10:59:24.66 ID:/EsSmyHW.net] 規格の§26.5.6-6を見るとentropy()が0を返すような環境であってもnon-deterministicな値を返さなきゃいけないみたいだけどね Returns: A non-deterministic random value, uniformly distributed between min() and max(), inclusive. It is implementation-defined how these values are generated.
844 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 11:02:57.44 ID:/EsSmyHW.net] >>828 はoperator()の話しね >>819 ライブラリにバグが有り迂回措置をしなきゃならないことはままあることだけど それと>>782 のコード自体には問題がないことは別の話
845 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 11:10:17.00 ID:MKIWYupr.net] バグじゃないんじゃね? entropy()が0.0を返すのなら毎回同じ乱数系列になっても文句は言えないという事なだけで
846 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 11:22:06.61 ID:/EsSmyHW.net] >>830 time()すらサポートできない環境もあるだろうけどな でも規格ではoperator()はnon-deterministic random valueを返さなきゃならないことになってる 同じ種による擬似乱数ならnon-deterministicにはならない
847 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 11:24:22.43 ID:Ebj0wxFB.net] 規格がどうであろうがアホな環境があるのはしょうがない
848 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 11:25:45.09 ID:MKIWYupr.net] >>831 いやいやoperator()は単に乱数エンジンを呼び出して次の新しい乱数を返すだけでしょ
849 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 11:26:23.38 ID:theP84i7.net] 正確にはoperator()はnon-deterministic random valueを返すか または例外をスローしなければならない
850 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 11:33:27.11 ID:JaqU9d1i.net] >>834 環境が毎度同じ値をハードウェアエントロピーとして返してたら例外にしようにも判断できないだろう
851 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 11:33:39.96 ID:/EsSmyHW.net] >>833 entoropy()==0な環境ならそうだけど 問題はその場合の擬似乱数の種だよ エントロピーを持った種を生成する手段が全くない環境ではstd::random_deviceは規格通りに実装できないと思う
852 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 11:38:55.35 ID:uNOqpDKk.net] 環境を明らかにして再現可能にしないと 本当の原因については何もかも憶測だわな
853 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 11:40:06.20 ID:/EsSmyHW.net] >>834 §26.5.6-7に例外規定があるね 例外に該当するにも関わらず例外上げないならやっぱりバグだね
854 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 11:41:48.34 ID:theP84i7.net] >>835 同じ値が返りうるものを使ってrandam_deviceを作ったら それは処理系のバグです
855 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 11:56:27.72 ID:skw8xdRE.net] >>839 じゃあ、/dev/randomは使えないんだな
856 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 12:07:53.20 ID:2F+fvzms.net] >>839 そのような仕様は無い
857 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 12:16:22.99 ID:theP84i7.net] >>841 仕様にあるかどうかじゃなくて 仕様を満たす物を作るかどうかという話なんだが 馬鹿には難しかったかな
858 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 12:18:07.44 ID:RGuMbU6U.net] >>842 お前が言ってるような要求の仕様があるかないかだろ 馬鹿か
859 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 12:19:24.81 ID:19+QQn1h.net] > 同じ値が返りうるものを使ってrandam_deviceを作ったら > それは処理系のバグです どうしてこういうデマを思いつけるの? 親の教育?
860 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 12:21:14.86 ID:theP84i7.net] >>843 知らなかったのなら教えてやろう >>828 で規定されているのだよ
861 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 12:28:17.77 ID:CPoN3U++.net] non-deterministic意味がわからなかったんだろう
862 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 12:28:53.22 ID:/EsSmyHW.net] >>824 を補足訂正しとくか ・ライブラリが擬似乱数を使うならentropy()はゼロを返さなければならない ・しかし、その場合でもoperator()は何らかの手段でnon-deterministicな値を返さなければならない ・それすら出来ないなら例外を上げなければいけない >>810 の >これで 0 が表示されたらその処理系では真の乱数がサポートされていなくて >常に擬似乱数を返すようになっている までは正しいが、それ以降はバグってるライブラリに対する迂回処置 規格を順守するならtry〜catchで確認しなければならないけどライブラリがバグってて例外上げないなら 意味がなく>>810 みたいなことをやらなきゃならない でもそんな環境ではstd::chrono::system_clock::now()やtime()が使い物になるかどうかすら試してみなきゃわからない
863 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 12:39:30.02 ID:kZPq/fe7.net] >>845 そこにはそんなこと書いてない 書いているのは取得できなかった場合にthrowしろということだけだ ハードウェアないしそれをエミュレートするソフトウェアが同じ値を返したときに その不自然さの判定をライブラリーに要求する仕様は存在していない そもそも非決定性乱数だと名乗る数列に対してそれが非決定性乱数でないと外部から証明することは不可能
864 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 12:41:33.14 ID:ewQgCmyw.net] >>848 entropy()が0なら例外を吐くようにするとかの手段はある
865 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 12:42:27.08 ID:VhxPp0/8.net] 今日も >自演 ID:n8k6dcHe=ID:TrlsMEs4 >アスペ ID:oxhll+kB >キチガイ ID:o/QnrV3k の不毛な規格論争が血気盛んですね
866 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 12:50:52.26 ID:CPoN3U++.net] 言葉遊びが好きだなあ
867 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 12:53:14.65 ID:5h6P6Rwy.net] >>839 > 同じ値が返りうるものを使ってrandam_deviceを作ったら > それは処理系のバグです つまり、/dev/urandomや/dev/randomのようなユーザーが書き換えられる擬似デバイス すなわち「同じ値が返りうるもの」を使ってはならない仕様だと言いたいのですね?
868 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 12:54:33.43 ID:miZegYar.net] int rand() {return 0;}//乱数でないと証明することは不可能(^^)
869 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 12:56:56.05 ID:CPoN3U++.net] 言葉遊びして勝ち誇ってるには悪いけど 本当に同値しか返さないなら証明可能だぞ むしろ反証ができないわけで
870 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 13:05:03.81 ID:ewQgCmyw.net] 手持ちの処理系(MinGW 5.1.0)だけど #include <iostream> #include <random> int main() { std::random_device rd; std::cout << rd() << std::endl; } 何回走らせても 3499211612 が返り、例外を吐かない result_type operator()(); 6 Returns: A non-deterministic random value, uniformly distributed between min() and max(), inclusive. It is implementation-defined how these values are generated. 7 Throws: A value of an implementation-defined type derived from exception if a random number could not be obtained. と規格票にはあるけど、operator()が非決定性の乱数を返すとはどこにも書かれてない 擬似乱数でもいいから得られれば例外を吐かないと読めるんだが
871 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 13:06:57.42 ID:theP84i7.net] (つд⊂)ゴシゴシ
872 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 13:09:28.33 ID:CPoN3U++.net] >>855 >operator()が非決定性の乱数を返すとはどこにも書かれてない 少なくとも、前提はどうあれ明らかに書いてあるものを出して どこにも書かれてないは嘘だろ
873 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 13:11:49.80 ID:ewQgCmyw.net] あ、ごめんそうだな じゃあこの処理系のバグだな rd()を呼び出した時点でstd::exceptionを継承した例外を吐かなければ規格に一致してないわけか
874 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 13:14:36.84 ID:HS03ITz9.net] どちらかというとコンストラクタの時点で非決定性乱数を返せるアテが無いってことで例外にして欲しいところ。
875 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 13:16:01.20 ID:CPoN3U++.net] 途中でプールが消える可能性もあるね
876 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 13:20:50.77 ID:theP84i7.net] ちなみにコンストラクターが例外を出しても 規格に違反はしてないぞ
877 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 13:24:27.46 ID:CPoN3U++.net] しかし規格に対してVCがより準拠して高機能で gccが微妙な対応とは思わなんだ (正確にはlibstdc++だけど)
878 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 13:30:25.55 ID:qtHFk0LE.net] linuxで使う分には問題ないんだよ
879 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 13:45:33.88 ID:yFbTkFIh.net] >>863 linuxでもurandom書き換えられたらwindowsと変わらない linuxで要件満たすのは不可能
880 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 13:59:56.44 ID:ewQgCmyw.net] www.argocorp.com/compo/IDQ/IDQ_PCI.html こんなのでも差すしかないんじゃね
881 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 14:16:13.79 ID:/EsSmyHW.net] 量子状態が真に不決定的だという量子力学主流派の主張にだって反対意見は多くあるし(有名なのはアインシュタイン) つきつめると結局ラプラスの悪魔の話にまでいっちゃう
882 名前:デフォルトの名無しさん [2015/07/20(月) 14:19:54.76 ID:kIIIo7Lt.net] >>782 の者ですが >>810 さんの >std::mt19937 engine(std::chrono::system_clock::now().time_since_epoch().count()); を使うことで解決しました ちなみに環境はwindowsのgcc4.9.2です
883 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 00:56:27.52 ID:tw33l9e0.net] CからC++へ移ってクラスの活用を学び始めています しかしメンバーが静的なクラスばかりになってしまい、 Class::Func()のような処理ばかりで、Cで関数使っていた頃との違いが実感できません オブジェクト指向を身に付ける為に、こういう処理を作ってみると良いってモノがあれば教えて欲しいです
884 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 01:04:02.59 ID:iAnJqoKI.net] >>868 そんなので作ってたら悪い癖が固まる 本でも読んでろ
885 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 01:13:35.48 ID:Ekp6Lmit.net] C++クラスと継承完全制覇 とかいいのでわ?
886 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 01:31:58.55 ID:tw33l9e0.net] >>870 ありがとうございます 早速本屋で探してみます
887 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 01:54:30.04 ID:BsRxe1GP.net] >>868 何のためにstaticにしてんの?
888 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 03:03:44.28 ID:l6C/lcEi.net] >>872 そりゃなんと言ってもデザインパターンだろ https://ja.m.wikipedia.org/wiki/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2)
889 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 03:04:14.07 ID:l6C/lcEi.net] あ、 ×>>872 ○>>868
890 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 03:05:29.24 ID:tw33l9e0.net] >>872 オブジェクト毎に持つ必要性が無い値だと思ったからです DirectXやDirectInputの利用で、 初期化したデバイスのポインタをクラス変数として保持し、派生先のクラスで利用できるようにしてました その結果、 DirectX::Initialize() とか、DirectInput::GetKeyState() のような処理を使わざるを得なくなりました これではグローバル変数でデバイス保持してた、クラス未使用の頃とやってる事が同じだから何か違うなーと
891 名前:デフォルトの名無しさん mailto:sage [2015/07/21(火) 21:29:05.54 ID:MZjkxTxw.net] そういうもんですよ。 もうちょっとオシャレな人たちは、シングルトンを使う。
892 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 00:12:51.45 ID:N6B7rSAC.net] クラスで共有するなら当然static使う
893 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 00:35:33.34 ID:V3PTIB1w.net] それらの処理をやってる箇所まで内包させて これ使えば全部やってくれるよ
894 名前:ってクラスにするのが 最終的な目標って感じかなぁ [] [ここ壊れてます]
895 名前:デフォルトの名無しさん [2015/07/22(水) 16:33:13.94 ID:vU2lJ4S0.net] >>862 宣伝条項とか有るんでないの。 GNU製品を使う場合、商用製品を貶さなければならないとかさ。 よう知らんけど。
896 名前:デフォルトの名無しさん [2015/07/22(水) 18:52:41.66 ID:QLvVRyDz.net] 苦しんで覚えるc言語のサイトがアクセスできないんですが…
897 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 18:57:26.61 ID:KhraFoTS.net] アクセスするまでに苦しめという親心だ
898 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 19:55:00.74 ID:Uuj8BVVu.net] プログラミング初心者ってまず何をすればいいですか?
899 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 19:56:09.51 ID:KhraFoTS.net] 動く保証のあるプログラムの写経
900 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 20:00:47.95 ID:RSJsUGeJ.net] 写経したくなるような作りたいプログラムを見つける
901 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 20:59:56.40 ID:6tF8DM8V.net] >>882 プログラミングを忘れ、まともな人生を歩む事を考える
902 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 21:51:13.30 ID:Md5kWR9m.net] ある程度中身のわかるソフトの挙動を観察し仕組みを洞察する
903 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 23:02:09.87 ID:vClKc3rH.net] >>882 「○○作ってみたい」から考え始めてそれを実現するための関数1つでも作ってみる
904 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 00:30:25.25 ID:5whcWqvP.net] 作りたいアプリのクラスを作ってしまおう (ストラウストラップ)
905 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 11:22:52.88 ID:Yxc4xF6u.net] Androidスレにて回答が得られそうにないので来ました。 Android機器でC++ができると聞いてAIDEを購入したのですが、C++11を使う設定がわかりません。 LOCAL_CFLAGS := -std=c++11, LOCAL_CPPFLAGS := -std=c++11をApplication.mkに書いてもC++11のコードのコンパイルが通りませんでした。 検索してみたところ、Toolchainでgcc 4.8を入れれば良いと書かれていましたが、Toolchainの入れ方がわかりません。 GooglePlayで[NDK Toolchain]で検索してもそれらしいものが引っ掛かりません。 解法を教えてください。あるいは、どんなキーワードで検索したら解決しますか?
906 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 15:24:00.49 ID:1xg3cb1R.net] そんなもん買わなくてもC++できるのに。
907 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 16:09:41.76 ID:5whcWqvP.net] アンドロイドで遊びたいんですよ
908 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 16:56:05.66 ID:P0N6qRSq.net] >>891 android studioじゃダメなん?
909 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 17:19:07.64 ID:s5ALrjlX.net] 実機でポロポロ動いての見て楽しむんですよ
910 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 17:21:00.21 ID:P0N6qRSq.net] >>893 そういう事か。 エミュレータだと糞遅いもんなあ
911 名前:デフォルトの名無しさん mailto:sage [2015/07/24(金) 16:05:42.76 ID:nCR9QL2r.net] 実は今入院中で、しかもはしたお金しかなくてノートPCが買えないので、スマホでC++を書いている状況なんですよね。 C4droidでC++11を書いていますが、タブ式のエディタでないことと、分割コンパイルができないことで大変苦労しています。
912 名前:デフォルトの名無しさん mailto:sage [2015/07/24(金) 16:12:19.00 ID:pDMzRj5e.net] そうですか
913 名前:デフォルトの名無しさん mailto:sage [2015/07/24(金) 17:46:40.13 ID:/55SuOij.net] Application.mk に APP_CPPFLAGS := -std=c++11 って書けばいいんじゃないの
914 名前:デフォルトの名無しさん mailto:sage [2015/07/25(土) 10:31:50.76 ID:pSI/1ixo.net] どうして入院させられたのか理解してないんですね
915 名前:片山博文MZ ◆T6xkBnTXz7B0 [2015/08/01(土) 22:37:45.46 ID:/RIOF0J6.net] ファイルやディレクトリーやワイルドカードを含むリストを、 パスファイル名のリストに展開したいのだが、いい方法はないだろうか?
916 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 23:33:42.45 ID:CYsajC4S.net] PowerShellには、フルパスを返す、Resolve-Path がある Resolve-Path C:\TEMP\*.txt C:\TEMP\test1.txt C:\TEMP\test2.txt C:\TEMP\test3.txt
917 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 23:36:31.87 ID:UaSYqc/x.net] >>900 スレ違いは去れ
918 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 00:38:55.04 ID:+SVNoiwH.net] >>901 いちいち五月蝿いんだよ。阿呆かよ。
919 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 00:40:51.05 ID:G4TAbL+8.net] FindFirstFile(Ex) でワイルドカード使えるからまんま渡してFindNextFile する (MSCなら)スタートアップのリンクモジュールを変える 実行時引数のワイルドカードを 展開済み引数にするのがあった記憶
920 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 01:20:35.53 ID:77q907bZ.net] ちなみに>>900 =>>902 =>>903 =QZ
921 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 07:46:12.30 ID:K1eGJczB.net] jbbs.shitaraba.net/netgame/14889/ これのプログラム解明お願いします
922 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 08:01:46.29 ID:+B7/KlLQ.net] >>905 氏ね
923 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 15:27:28.43 ID:2WU/dKTq.net] >>903 それボーランドのコンパイラじゃね?
924 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 18:35:41.96 ID:zMJ+WguM.net] これ系ではだめ? https://msdn.microsoft.com/ja-jp/library/kda16keh(v=vs.120).aspx
925 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 18:46:29.65 ID:SLv/zRdd.net] win32api でいいのにラッパを使うの?gcc/ming とかでは使えないのに
926 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 11:39:18.72 ID:dv1hKBwd.net] C/C++両方で使うヘッダファイルを書いています。 #ifdef __cplusplus #include <cstdio> #else #include <stdio.h> #endif #ifdef __cplusplus extern "C" { using namespace std; #endif int OutputString(FILE* fp, const char* s, size_t n); #ifdef __cplusplus } #endif みたいに書いたら、using namespace std;をヘッダに書くな!と怒られました。 私は、usingの有効範囲は{ }の中だけだと思ったんですが違うんでしょうか? できれば、 #ifdef __cplusplus int OutputString(std::FILE* fp, const char* s, std::size_t n); #else int OutputString(FILE* fp, const char* s, size_t n); #endif みたいな書き方はしたくないんですが。
927 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 11:43:07.73 ID:t8uosJPh.net] #ifdef __cplusplus #define NAMESPACE_STD(TYPE) std::TYPE #else #define NAMESPACE_STD(TYPE) TYPE #endif int OutputString(FILE* fp, const char* s, NAMESPACE_STD(size_t) n);
928 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 11:58:03.10 ID:PIBA7Cur.net] >>910 >C/C++両方で使うヘッダファイルを書いています。 C/C++両方で使う場合ってどう言う場合なの?
929 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 12:54:22.61 ID:qkkgbGkC.net] >>910 extern の{}はスコープとは違うはず。 >>911 みたいにしとけば? #define STD std:: OutputString(STD FILE* fp, );
930 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 13:01:02.17 ID:dv1hKBwd.net] >>912 >C/C++両方で使う場合ってどう言う場合なの? 色々なしがらみで、定年退職したおじさんがCで書いたライブラリを当面使い続けないといけないんですが、 C++コーディング規約が変わって<XXX.h>が禁止され、必ず<cXXX>をインクルードすることになってしまいました。 なので、Cライブラリのヘッダファイルを修正していたんですが、std::size_t等をどうすべきか悩みまして… >>911 の方法でやってみます。ありがとうございました。