- 1 名前:デフォルトの名無しさん (ワッチョイ efda-9b8G) mailto:sage [2023/10/31(火) 07:37:38.52 ID:+ZyYyqMO0.net]
- !extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512 ↑同じ内容を3行貼り付けること 次スレは>>980が立てること 無理なら細かく安価指定 ※前スレ C++相談室 part164 https://mevius.5ch.net/test/read.cgi/tech/1683600652/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
- 516 名前:デフォルトの名無しさん mailto:sage [2024/10/29(火) 13:58:12.41 ID:WYOK+g300.net]
- 好きなように書いて、好きなように変換して、途中でincludeする
簡単に書くもよし、ガッチガチにチェックするもよし
- 517 名前:デフォルトの名無しさん mailto:sage [2024/10/30(水) 23:11:10.17 ID:x0G86HEF0.net]
- HAGE(CAUWA1)
HAGE(CAUWA2) HAGE(CAUWA3) : みたいなテキスト作っといて 手コキストを#includeする手前でHAGEの意味を変えてやるとうまいこと一元化できる
- 518 名前: mailto:sage [2024/10/31(木) 00:43:29.18 ID:ET2RcGMR0.net]
- カウワ?
- 519 名前:デフォルトの名無しさん mailto:sage [2024/10/31(木) 01:08:33.55 ID:gisW4Gdb0.net]
- magic_enum教えてやれや
じじいは感度低いから知らんか
- 520 名前:デフォルトの名無しさん mailto:sage [2024/10/31(木) 05:43:35.79 ID:J4xtBqBy0.net]
- みてきた それが人気の実装か
やりたいこと次第だが、オーバスペック感はある ちょうどほしかったんなら止めないけどね
- 521 名前:デフォルトの名無しさん mailto:sage [2024/10/31(木) 10:56:16.92 ID:++2hP8JV0.net]
- 横からなるほどー!
__PRETTY_FUNCTION__ / __FUNCSIG__
- 522 名前:デフォルトの名無しさん mailto:sage [2024/10/31(木) 15:32:14.58 ID:IcW65SaY0.net]
- あのー、アメリカグーグルで、検索すれば、良いのがでてきた
日本は、でてこない これは、やっぱり、レベルなんだろうね
- 523 名前:デフォルトの名無しさん [2024/11/01(金) 19:53:27.66 ID:TgBKHsuNa.net]
- >>518
あさひ奈央
- 524 名前:デフォルトの名無しさん mailto:sage [2024/11/02(土) 09:17:27.71 ID:KpOoS8wa0.net]
- >>522
アメリカグーグルって言い方からして頭悪そう
- 525 名前:デフォルトの名無しさん (ワッチョイ 5910-fVPo) mailto:sage [2024/11/05(火) 08:04:39.53 ID://VVBUiD0.net]
- magic_enumは個数制限がきついんだよな・・256くらいが限度じゃなかったっけ
- 526 名前:青木康善 mailto:sage [2024/11/06(水) 17:05:23.05 ID:vfgxFq1Ya.net]
- c plus plusとjava、電子音楽作成にどっちが向いてるかな?早いのは無論c plus plusだろうけど。
- 527 名前:デフォルトの名無しさん mailto:sage [2024/11/06(水) 17:09:08.31 ID:jrSvpMvx0.net]
- 作成というが、記述したいのか、波形合成したいのか、はたまた生成(AI等)したいのか。。
- 528 名前:デフォルトの名無しさん mailto:sage [2024/11/06(水) 17:14:36.09 ID:P7rcAaD30.net]
- なんでjava?
- 529 名前:デフォルトの名無しさん mailto:sage [2024/11/06(水) 20:06:37.45 ID:TrFjb6KE0.net]
- >>526
C++ね 記号の入れ方知らないのかな
- 530 名前:青木康善 mailto:sage [2024/11/06(水) 20:56:51.96 ID:XG1hV+N8a.net]
- C soundというのはかつてありましたが。javaでやろうかな。C++は自分にはハードル高すぎます。
- 531 名前:はちみつ餃子 mailto:sage [2024/11/06(水) 21:37:08.81 ID:O6Mhx+Gj0.net]
- 相談スレなんだから相談しなさいよ。
独り言を書きたいなら X で。
- 532 名前:デフォルトの名無しさん mailto:sage [2024/11/06(水) 22:48:47.88 ID:tlKINjNQr.net]
- 5ちゃん初めてなんでしょ。浮いてるのはほっとこう、じきに慣れてくれる
コンパイラがCらしいね。でもjavaからも操作できる実績があるって こういうときは、「やってみて脳汁が出そうなほう」でいいとおもう 結局モチベなんで
- 533 名前:はちみつ餃子 mailto:sage [2024/11/07(木) 03:05:44.48 ID:LEgJ6Wm00.net]
- Csound は公式に Python や Java 用のラッパーは用意してるみたいだから得意なのでやればよさそう。
ところで固有名詞は正確に表記してくれないと探しにくいやで。
- 534 名前:デフォルトの名無しさん mailto:sage [2024/11/08(金) 17:26:41.87 ID:k0cYSKPq0.net]
- g++とclang++が混ざった環境なのですが、g++でコンパイルしたバイナリはstd::stringとか
名前に__cx11というプレフィックスが付き、一方clang++の方は__1というものが付くようです とりあえず、clang++の方で__cx11が付くようなバイナリを生成するにはどうしたら いいでしょうか?
- 535 名前:デフォルトの名無しさん mailto:sage [2024/11/08(金) 17:28:48.87 ID:k0cYSKPq0.net]
- すみません、__cx11じゃなくて__cxx11でした
- 536 名前:はちみつ餃子 mailto:sage [2024/11/08(金) 17:41:34.61 ID:Me1tPYCI0.net]
- 名前だけ合わせても具体的な実装方法が違えばどうせクラッシュするから意図的にマングルルールを違えている。
https://gcc.gnu.org/onlinedocs/gcc/Interoperation.html#Interoperation
- 537 名前:デフォルトの名無しさん mailto:sage [2024/11/08(金) 17:52:36.03 ID:k0cYSKPq0.net]
- >>536
なるほど、要は「C++コンパイラ、混ぜるな危険」ということでしょうか?
- 538 名前:デフォルトの名無しさん mailto:sage [2024/11/08(金) 18:12:15.75 ID:6Qfff3nN0.net]
- 例外とか互換性があるんかいな?
- 539 名前:デフォルトの名無しさん mailto:sage [2024/11/08(金) 18:14:37.25 ID:6Qfff3nN0.net]
- C++コンパイラでコンパイルするにしても
ソースコードをCの範囲に留めて 関数プロトタイプを extern "C" すれば大丈夫だよ
- 540 名前:デフォルトの名無しさん mailto:sage [2024/11/08(金) 18:18:53.42 ID:k0cYSKPq0.net]
- >>539
なるほど、例えばこんな感じなら大丈夫なんですかね? g++でコンパイルされたバイナリのグループAとclang++でコンパイルされたバイナリの グループBがあったとき、AからB(またはその逆)を呼ぶときは必ずCリンケージの関数 経由にする、とか....
- 541 名前:はちみつ餃子 mailto:sage [2024/11/08(金) 18:25:46.25 ID:Evz7xgHe0.net]
- >>540
OK。 C インターフェイスの範囲ではどちらも同じ ABI (Application Binary Interface) に従ってるはず。
- 542 名前:デフォルトの名無しさん mailto:sage [2024/11/08(金) 18:35:59.90 ID:k0cYSKPq0.net]
- >>541
なるほど 皆さんどうもありがとうございます
- 543 名前:デフォルトの名無しさん mailto:sage [2024/11/09(土) 19:08:22.86 ID:djyKk80a0.net]
- 昔std::vector<T>とかstd::stringを前のコンパイラでビルドしたDLLに渡したら以下略
やっぱコンパイラを混ぜるときはextern "C" な関数にプリミティブな型のみを渡すインターフェース設計にするパティーンが安牌 文字列とか渡したかったらあくまでchar[]にすべき……
- 544 名前:デフォルトの名無しさん mailto:sage [2024/11/10(日) 16:10:22.46 ID:ck6aMoNGM.net]
- >>536
この場合は別々に標準ライブラリがリンクされる、つまり2つ動くのかな?
- 545 名前:デフォルトの名無しさん mailto:sage [2024/11/10(日) 17:48:03.99 ID:cLh8//6O0.net]
- 単にリンクするだけではどっちかのライブラリのスタートアップしか呼ばれないから
呼ばれてない方のライブラリの初期化がされなくてまともに動作しない問題が残ると思う
- 546 名前:はちみつ餃子 mailto:sage [2024/11/10(日) 18:18:05.60 ID:R/A45v0+0.net]
- 仮にどうにか辻褄合わせが出来てちゃんと動いたとしても将来の開発環境・実行環境でどうなるか予想しづらいというのもある。
- 547 名前:デフォルトの名無しさん mailto:sage [2024/11/10(日) 18:55:50.75 ID:g8WH2rn90.net]
- こういう感じの実装を見かけたんだけど、ptrって解放済みの領域を指してないよね?
int *ptr = NULL; std::map<char, int> m; m.insert(std::make_pair('a', 30)); { std::map<char, int>::iterator itr = m.find('a'); if (itr != m.end()) ptr = &(itr->second); // ここでitrは解放される } if (ptr) printf("*ptr = %d\n", *ptr); // 大丈夫?
- 548 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cd32-bar5) mailto:sage [2024/11/10(日) 19:59:53.20 ID:a6nPaG4v0.net]
- >>547
itr が指してる先は m の一部なのでまだ生きてる。 問題ない。
- 549 名前:デフォルトの名無しさん mailto:sage [2024/11/10(日) 20:31:11.60 ID:g8WH2rn90.net]
- >>548
あざっす!なるほど、よかった〜
- 550 名前:デフォルトの名無しさん mailto:sage [2024/11/11(月) 00:36:44.76 ID:6qsu0cnY0.net]
- >>545
ヤヴァイやん>>539しても全然OKじゃないやん……
- 551 名前:デフォルトの名無しさん mailto:sage [2024/11/11(月) 00:38:49.39 ID:6qsu0cnY0.net]
- ただしウィンドーズのDLLの呼び出し場合は>>539に従っていれば問題無いはず……
ランタイムの初期化エントリはDLL毎に_DllMainCRTStartup が用意されてDLL初期化時に呼ばれる
- 552 名前:デフォルトの名無しさん (ワッチョイ 759b-NX7e) mailto:sage [2024/11/11(月) 16:46:00.51 ID:XlNa4SSE0.net]
- https://www.openwork.jp/company.php?m_id=a0910000000FrzY
- 553 名前:青木康善 mailto:sage [2024/11/12(火) 22:22:32.82 ID:svwbS+Oga.net]
- 独習C++を図書館で借りました。よく、こんな、難しく、エグい言語が出来ますねみなさん。
- 554 名前:デフォルトの名無しさん (ワッチョイ 1d1f-hYHe) mailto:sage [2024/11/12(火) 22:26:44.98 ID:r67kfyB40.net]
- 他に選択肢がなかったんや😭
あと最近はobjective-cとかいう悪魔合体に比べたらなんでもマシな言語に思えてきてる
- 555 名前:デフォルトの名無しさん mailto:sage [2024/11/13(水) 01:53:29.63 ID:CoujH3FQ0.net]
- Objective-C++もよろしく
- 556 名前:はちみつ餃子 mailto:sage [2024/11/13(水) 02:14:12.02 ID:Gj2zjD3b0.net]
- >>553
汚いが、必要なものはある。 綺麗に整理されてても必要なものがないよりは良い。
- 557 名前:デフォルトの名無しさん mailto:sage [2024/11/13(水) 03:47:19.43 ID:rKuXlBFV0.net]
- そーだそーだ
C++は難しいからObject Pascalやろうぜ!
- 558 名前:デフォルトの名無しさん [2024/11/14(木) 07:49:57.71 ID:z8CYzrjO0.net]
- C++女学院の人々ってまだ読める所ある?
大好きだったんだけど。
- 559 名前:デフォルトの名無しさん (ワッチョイ a501-3n/g) mailto:sage [2024/11/14(木) 12:23:07.88 ID:DkukOutW0.net]
- >>554
C++と悪魔合体してObjective-C++とかなってるけど自分は実用的に感じた 全部それで書こうとは思わんけど、C++との共存のレベルが高くて鼻血出そうになったわ OSやその他Apple系APIとのやり取りはObjC++、それ以外のソースはC++のみ、とかも簡単だし
- 560 名前:デフォルトの名無しさん (アウアウエー Sa13-vkNS) [2024/11/14(木) 14:52:24.21 ID:a5xmyjQfa.net]
- >>553
若い人がCからC++の増築増築で可笑しくなって行った歴史をなぞるのは無意味ではない >>554-555 Objective-C や Objective-C++ の方がまし やる気は無いけどObjectPASCALはDelphiだっけ
- 561 名前:デフォルトの名無しさん [2024/11/19(火) 11:41:41.34 ID:1x1cv+pZH.net]
- 演算子のオーバーロードない言語はダメだ
- 562 名前:デフォルトの名無しさん mailto:sage [2024/11/19(火) 11:53:31.53 ID:5+FMYvHmM.net]
- 演算子オーバーロードがもたらす言語仕様の複雑性を理解してたら軽々しくそういうことは言えない
- 563 名前:デフォルトの名無しさん [2024/12/08(日) 01:45:50.04 ID:EhZF4lXKz]
- 5chの管理人がRustマンセー野郎でRustの悪口言ったらBBS規制になっちまった。
それでこっちに書いときます。eigenという行列演算、線形代数ライブラリが ありますが、これ列主順なんですね。なので、[]演算子のオーバーロードでは 行列Aのi行j列の要素にアクセスするときにA[j][i]という奇妙な順番でないと いけない。それでeigenでは行列に対してA[i][j]みたいなサポートはしていない。 だから[]ではなく[][]演算子みたいな拡張がほしいと思いました。
- 564 名前:デフォルトの名無しさん [2024/12/08(日) 02:15:01.21 ID:EhZF4lXKz]
- マトリックスクラスを宣言すると
matrix_<double> a[3][3];
で何の対策もせずに、a[0][1][2][3]=1; みたいなアクセスは問題なくできるんですよ。 サイズ宣言時にa[3][3](3,3);というダサい形に。でもこれはstdsize(3,3);とでもして おけば解決します。でも、列主順のときにはa[j][i]がネックに。()演算子なら列主順 だろが行主順だろが問題なくオーバーロードで解決できるんですが、A(i,j)の添字が0 から始まるのはfortran使っていた自分には違和感があります。
それでA[i,j]? C言語のA[i][j]の伝統を捨てるんですか? 感性の問題ですけど。
- 565 名前:デフォルトの名無しさん [2024/12/08(日) 17:15:54.70 ID:EhZF4lXKz]
- なるほど。C#に引っ張られたわけですね。a[i][j]の ][ を , に置き換えるプログラム
を作成すれば大きな影響もなく変換できそうですね。 でも、a[i][j]は残すんですよね?残さないと、ブーイングもしくはC++23もういいわ になりそう。
|

|