- 1 名前:デフォルトの名無しさん [2021/05/19(水) 10:55:13.24 ID:LZZifCH2.net]
- 前スレ
C++相談室 part155 https://mevius.5ch.net/test/read.cgi/tech/1616555235/
- 201 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 22:00:37.95 ID:ECg4taz5.net]
- >>194
それForthじゃね?
- 202 名前:はちみつ餃子 mailto:sage [2021/06/05(土) 22:00:51.75 ID:G0EcoOQC.net]
- >>196
ここで必要なのは範例ではなく定義。 何が正しいのかを議論したいわけじゃなくてどの定義を使う「ことにする」という擦り合わせ。 C++ における定義を決めるなら設計者の言を元にするのは妥当だろ。 それはそれとして >>195 はなんかおかしいこと言っていると思うし、 なんか勘違いしてそうな気がするが。
- 203 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 22:49:20.33 ID:V38nFCWr.net]
- 関数型プログラミングが古いと主張する香具師は
MVCとかなMと表示等が分離した設計モデルでありかつ Mがマルチスレッド(UIスレッドとは別)なケースのプログラミングを ラムダ式を使わずにして見られれば宜しい すっきり収拾をつけるにはコールバック関数として関数オブジェクトを渡すか、 コールバック関数をvoid*引数の関数にするという前近代的な設計にするかしかなく、 classを使って手で書く関数オブジェクトはラムダ式を見たコンパイラが生成するコードと大差ないから 前者は関数型プログラミングに他ならない という印象、 ※ 個人の感想です それはそれとして>>192も相当おかしいことを言っていると思うし以下略
- 204 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 23:04:19.70 ID:V38nFCWr.net]
- Promiseを使っても同じことで、
ていうかPromiseこそあるスレッドXを実行後に行うべき処理を行う関数Fを スレッドXの終了後に実行するために(※1)内部で作っておくのだから関数型プログラミングに他ならない 関数型プログラミングパラダイムは全世界をあまねくみそなわしておられる、 ※1: 実行する、というといかにも命令型プログラミングな感じだが、 関数型プログラミングパラダイム的には関数Fを展開することで計算を遂行する、と解釈されたい
- 205 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 23:25:00.00 ID:XO/wZGzq.net]
- >>197
年収が人間の価値だと思う人って今でもいるんだね
- 206 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 23:41:37.67 ID:L7L31nHe.net]
- 関数型の実戦で使えるエッセンスは10年前から各種人気の言語で取り込まれ、
具にも付かない思想倒れな部分は取り込まれなかった。それだけ。
- 207 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 23:54:03.24 ID:YIeCSJoh.net]
- >>196
上下を左右するとな。 今日一番心に残った表現だ。
- 208 名前:はちみつ餃子 mailto:sage [2021/06/06(日) 02:06:47.21 ID:KdK5uVMj.net]
- Scheme だとプログラムの流れ (関数を呼出したり戻ってきたり) を継続の起動の連鎖として
定義づけているが、継続の概念の元になったのは並列計算の研究から生まれたアクター。 アクターにメッセージを送るのと関数呼出しが実装上は同じになってしまったという気づきから継続の概念へと整理されていった。 関数型とオブジェクト指向は整理の仕方が違うだけで (といっても人間が使う以上はどのようなメタファで整理されているかも大事でもあるんだけど) より抽象的なレベルで見ると同じことをやっている。 そんで並列計算は (理論上は) どっちでも織り込み済みなのでパラダイムによって どちらのほうが並列計算しやすいということもない。 差があるとしたら単に言語の設計の出来栄えとかライブラリの整備とかのレベルの話なんで、 パラダイムにまで踏み込んで考えるような話じゃないよ。
- 209 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 07:44:49.65 ID:uVO5juz1.net]
- 高所得者「年収が人間の価値だと思う人って今でもいるんだね」
低所得者「年収が人間の価値だと思う人って今でもいるんだね」
- 210 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 08:33:32.64 ID:MV541K/D.net]
- >>203
C++に取り込まれた、実践で使える関数型のエッセンスってどんなん
- 211 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 08:36:03.93 ID:xXlGkHu+.net]
- bind
- 212 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 10:44:07.49 ID:+heRuwS3.net]
- 深さが任意の入れ子の vector を一次元 vector に展開したいんですが、良いやり方ありますか
再帰すれば良いと思うんですがどういう条件で分岐すれば良いかわかりません
- 213 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 11:34:06.74 ID:5eq/ZHJS.net]
- 入れ子を一階層だけ展開する処理を書いて
入れ子がなくなるまで末尾再起するというのはどうだろうか
- 214 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 11:37:51.02 ID:+heRuwS3.net]
- >>210
今見てる階層の一個下がvectorか値かっていうのはどう判定したら良いですかね?
- 215 名前:デフォルトの名無しさん [2021/06/06(日) 11:56:07.70 ID:W7O34OA1.net]
- >>209
これ flatten - 1.57.0 https://www.boost.org/doc/libs/1_57_0/libs/fusion/doc/html/fusion/algorithm/transformation/functions/flatten.html
- 216 名前:デフォルトの名無しさん [2021/06/06(日) 12:00:46.49 ID:W7O34OA1.net]
- 大抵の言語でその手の挙動はflattenと呼ばれてる
Yet Another Common Lisp Problems www.nct9.ne.jp/m_hiroi/clisp/yaclp03.html#ans51
- 217 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 08:16:50.61 ID:we1Omxer.net]
- >>197
肝心なのは「誰が言ったか」ではなくて、「(言った)意味、中身」。 さもないと「権威に訴える論証」にひっかかるから気をつけな。 わかってやっているなら詐欺師だし。
- 218 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 09:33:53.85 ID:3qfiWg/V.net]
- >>210
ちょっとググった感じだと、vector<T> が vector かどうか判定する is_vector ってないんですね あと is_array は std::array を array と見なさないみたいな情報もあって、メタ関数は罠というか勘違いが多そうで怖いですね 現状、自分で is_vector を実装するしかないんですかね? ごく基本的な処理に思えるので、シンプルな解法というかイディオムみたいのがあれば教えていただきたいです >>212 ありがとうございます。が、今は自分で書くならどうなるかというところに興味があります boost の flatten のコードはいろんな場合に対応するべく難解になっていそうですが、どうにもならなかったら参照してみます
- 219 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 09:55:32.64 ID:BbDyCKOj.net]
- >>215
正直、まず>209の「深さが任意の入れ子の vector」をどう定義してるのか見せてもらわないと話が見えてこない気がする。 要素型が固定なら要素型のほうで判定すれば is_vector は要らないだろうし、 variant とか使ってる場合もやっぱり is_vector の出番は無いだろうし。
- 220 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 10:34:55.50 ID:RKkN9u5/.net]
- >>216
vector< vector< ... vector<T> > ... > で、T は correction (vector, array 等) じゃない、というのを想定しています 仮定が足りませんでしょうか
- 221 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 10:44:19.30 ID:OrLbPX6K.net]
- >>214
偉そうにキリるなら「第一級オブジェクト」の公式な定義をまず出せ
- 222 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 10:49:36.03 ID:OrLbPX6K.net]
- >>215
作るったって大した話じゃねえべ template <template<class...> class T> struct is_vector : false_type { }; template <> struct is_vector<vector> : true_type { }; template <template<class...> class T> constexpr bool is_vector_v = is_vector<T>::value;
- 223 名前:デフォルトの名無しさん [2021/06/07(月) 10:54:39.46 ID:BLDePS2Q.net]
- >>217
numpy の reshape / flatten / ravel みたいなの想定してる?
- 224 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 11:00:59.34 ID:BbDyCKOj.net]
- >>217
それじゃ深さ固定じゃね?・・・深さの違ういくつかのケースを扱うっていうことか。 T を受け取るオーバーロードとそれ以外を受け取るオーバーロード書けばおしまいな気がする。
- 225 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 11:02:02.86 ID:BbDyCKOj.net]
- (要素ごとに深さが異なることもあるのを想定してた。)
- 226 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 11:12:04.97 ID:3qfiWg/V.net]
- >>219
ありがとうございます よく知らない構文も混ざってるので、勉強します >>220 はい flatten をしたいです >>221 template<class T> T flatten(vector<T>) と template<class T> T flatten(T) ってことじゃないですよね? >>222 >>217ってそれ含みませんっけ?
- 227 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 11:14:17.08 ID:3qfiWg/V.net]
- そもそも厳密な書き方じゃないので、含むか含まないかわかりませんね
今は含まないということにします
- 228 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 11:59:15.70 ID:0mm9pDbq.net]
- >>218
そもそもc++には「第一級オブジェクト」なんて定義されてないだろ。 c++標準に"first-class object" なんて記載あったかね。 一般的な解釈はwikipediaでも勉強しろよ。
- 229 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 12:01:22.38 ID:OrLbPX6K.net]
- >>225
ここはC++スレだ 一般的な解釈なんて頓珍漢なこと言ってんな そっちへ逃げたければ1人で逃げろ 俺は付き合ってやんね
- 230 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 12:05:00.74 ID:0mm9pDbq.net]
- >>226
だったら「第一級オブジェクト」なんて頓珍漢なこと言ってんな そっちへ逃げたければ1人で逃げろ 俺は付き合ってやんね
- 231 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 12:08:12.54 ID:OrLbPX6K.net]
- >>227
流れくらい読めよ 第一級オブジェクトと言ったのは>>187だぞ おまえ他人に頓珍漢なんて言う資格ねえぞ
- 232 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 12:28:32.41 ID:5RAm1+EE.net]
- 一昨日の曖昧イキリで今さらヒートアップしてんじゃねー
- 233 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 12:36:56.22 ID:0/HU77Xe.net]
- >187、>190 、>195 、>197、>214
の流れくらい読めよ 禿の権威にかこつけて「第一級オブジェクト」を主張しているのは>>195 >>197だぞ。俺はそれに>>214で反論しているだけで「第一級オブジェクト」は肯定していない。 おまえ他人に頓珍漢なんて言う資格ねえぞ
- 234 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 12:44:36.71 ID:OrLbPX6K.net]
- >>230
おまえの定義では斜め上な返事のことを反論というのか 関数は第一級オブジェクトか否かで揉めてるところへ 禿の定義を参考に持ち出したところへ 権威主義がどうたらと人格批判を始めたのが反論とは笑止千万 だから頓珍漢と言ってやったら相手の言葉をオウム返しし初めやがって いくら寂しいからってプログラム技術板で全然技術的でない絡み方してんなよ
- 235 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 12:48:56.88 ID:x1bKzWtQ.net]
- 流れ一切読んでないけどFirst-class citizenのことを言いたかったのかなw
- 236 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 12:49:49.89 ID:RKkN9u5/.net]
- こいつ「天に唾する」クンでしょ
>>219もコピペでドヤってるし
- 237 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 12:51:26.64 ID:OrLbPX6K.net]
- >>233
失礼な奴だな オリジナルだよ コピペじゃねえよ 他で同じもん作ったやつがいたの? 知るかそんなん
- 238 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 12:52:10.37 ID:0/HU77Xe.net]
- >>231
日本語でok
- 239 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 13:04:49.21 ID:OrLbPX6K.net]
- >>235
無教養なやつだな、まあいいけど 犬を相手に話したことが通じてなくても別に構わんのと同じだ
- 240 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 14:29:25.71 ID:OrLbPX6K.net]
- あの程度のコードをコピペだと思ってしまうあたり
自分では書けないやつなんだろうな だとしたらプログラム技術板では最下層のゴミだ
- 241 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 14:43:17.86 ID:Tp4rg2N9.net]
- 効きまくりでクソワロ
- 242 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 14:45:04.77 ID:8yb86Hta.net]
- 5hは初めてか?肩の力抜けよ。
「第一級オブジェクト」についてはこんな感じだな。間違っていたら解説してくれ。 ・c++では「第一級オブジェクト」は定義されていない ・c++では関数はオブジェクトじゃないし、オブジェクトとして扱うこともできないので、c++の関数をwikipediaにあるような解釈で「第一級オブジェクト」と言うことはできない ・関数を操作対象として(メタ)プログラムする仕組み(テンプレートとか関数オブジェクト・ラムダ式)があるので、高階プログラム自体は可能
- 243 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 14:57:20.33 ID:3ylBisjG.net]
- 第一級オブジェクト、よくイキりのWEBプログラム屋が使う印象の単語
C++界隈ではあんまり聞かん単語だな、使わないことはないが
- 244 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 15:02:43.23 ID:JV8K97H/.net]
- std::functionで「第一級オブジェクト」とやらに出来ることは何でも出来るからそれで充分であって
そっから先はただの宗教戦争だろ
- 245 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 15:10:41.88 ID:pl6618+T.net]
- 第一級市民オブジェクト
フランス革命で殺されたかも?
- 246 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 15:32:32.79 ID:Tp4rg2N9.net]
- >>241
> std::functionで「第一級オブジェクト」とやらに出来ることは何でも出来る 俺も完全にこれの話だと思ってた
- 247 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 15:35:57.19 ID:Tp4rg2N9.net]
- ただ純粋関数型言語のようには書きたくても書けないよね、というのが>>187-188の話だと
- 248 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 15:38:30.60 ID:OrLbPX6K.net]
- >>238
は? 尻尾巻いて逃げた負け犬の分際で何か言ったか?
- 249 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 15:41:28.23 ID:Tp4rg2N9.net]
- つーか
> 「天に唾する」クン なのは図星なのかよって思うとまたワロタ
- 250 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 16:02:18.11 ID:OrLbPX6K.net]
- >>246
そんなとこ見てねえよ コピペ呼ばわりから逃げたいのか? 吐いた唾は飲ませんぞ、自分で書けない低脳が
- 251 名前:デフォルトの名無しさん mailto:sage [2021/06/07(月) 16:40:25.13 ID:8yb86Hta.net]
- >>241
まあ、c++は歴史が長いから、他人には禁止したい余計な機能はあるよなぁ。 以前、ユーザー側からどうやってもdeleteできないスマートポインタを作ろうとしたけど、どうしても::deleteをブロックできなくて挫折した。……まあ、::delete使うやつはいないだろうけど。 あと、オブジェクトのライフサイクル制限を目的としてヒープに置けない(スタックだけに置ける)クラスを作ろうとしたけど、メンバ変数に置くのをブロックできなくて挫折した。
- 252 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 10:43:30.63 ID:x/Of6Ttl.net]
- そういうしょうもない機能作ることに時間をかけるくらいならバカを雇わない方がよっぽど生産的だわ
- 253 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 11:14:53.81 ID:50eCybWC.net]
- しょうもないかねえ
俺は技術的に色んなことを想像したぞ
- 254 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 11:37:14.14 ID:x/Of6Ttl.net]
- しょうもないわ。
注目するのはなぜdeleteしようとしてんの?ってとこでしょ。 それを無理に禁止してもそいつはもっとめちゃくちゃなことするぞ。
- 255 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 11:46:10.34 ID:50eCybWC.net]
- しょうもないことにしたいやつは考えること自体を拒否するから
相手すんの馬鹿らしいわ
- 256 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 14:05:51.36 ID:8EXn3XTK.net]
- 自分も昔似たようなこと考えたことはあったけど
operator->()を実装する限り、直接呼び出しでナマポ取られちゃうのを防ぐ方法がないんだよな しょうもないことは否定しない
- 257 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 14:21:31.17 ID:xX
]
- [ここ壊れてます]
- 258 名前:U8pzBk.net mailto: すぐには実用的な用途は思いつかないからしょうもないかどうかは判断できないけどパズルみたいなもんで趣味としてやるならいいんじゃね? []
- [ここ壊れてます]
- 259 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 14:23:46.24 ID:eGG/8TZ/.net]
- 自分で使う分には全然問題ないんだけどな。他人が絡むとマーフィーの法則が恐ろしい。
パラノイアなのは否定しない。
- 260 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 14:55:17.86 ID:RogQNf7Q.net]
- 旅行バッグに荷物をきっちりと
- 261 名前:lめてから荷物の入れ忘れに気づく徒労感を楽しみたい人だけやればいい []
- [ここ壊れてます]
- 262 名前:デフォルトの名無しさん mailto:sage [2021/06/08(火) 15:32:28.52 ID:50eCybWC.net]
- ピンプってる場合だってクラックはやればできる
そういうのまで完璧にガードするのか否かで考え方変わってくるからな
- 263 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 07:49:45.61 ID:ZYaksnCf.net]
- 標準にだって「禁止」や「非推奨」はあるね
- 264 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 18:54:04.56 ID:N9xjQvrw.net]
- autoでなにか受けるときに、参照を使う方がユニバーサル参照を使うより良い場合ってある?
- 265 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 21:30:11.98 ID:QYfnOwKH.net]
- const参照であればいい場合もあると思う。
- 266 名前:デフォルトの名無しさん mailto:sage [2021/06/09(水) 22:33:15.24 ID:9teK4oYw.net]
- >>260
ホワァイ?
- 267 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 06:52:19.94 ID:Wg8t0Pwp.net]
- 規格票を検索してもuniversal referenceというフレーズはヒットしない
- 268 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 07:54:30.31 ID:795Q5O5L.net]
- もともと名前がなかったので、通称としてuniversal referenceとかforward referenceとか呼ばれるようになったんよ
- 269 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 10:15:03.53 ID:p1gVn+om.net]
- >>262 forwarding reference でどうぞ。
- 270 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 14:55:46.69 ID:QNK25992.net]
- std::vector<A>を、std::vector<B>を使ってソートしたい場合
どうするのがスマートでしょうか? 例えばAが生徒の名前、Bがその生徒の得点だとして・・・ struct C{A a; B b;}を定義してvector<C>を作ってそれの比較演算子を作って・・・というのは思いつきますが もっといいやり方ってありますかね?
- 271 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 15:02:18.84 ID:Wg8t0Pwp.net]
- 名前、得点の他に何か、たとえば出席番号や出席日数などがあるなら
名前と得点だけのstruct C { A a; B b; }; を作るのは得策じゃなさそうだな 全てのデータが載ったマスターデータを作っておいて、 そのレコードへのポインタでvectorなり何なり作ってソートしては?
- 272 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 17:03:39.84 ID:PlM5zQeB.net]
- vector<C>みたいなものを作りたくないならAとBのvectorの要素間の対応関係はどうやって守るつもりなの?
片方だけソートしたら壊れちゃうぞ 元データは触らずにindexのvectorを別に用意して、[](int x, int y){return b[a] < b[y];} でソートする手もあるけど
- 273 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 17:04:25.52 ID:RDo2P64U.net]
- >>260
割となんでか気になるので、よかったら教えてください
- 274 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 17:16:00.08 ID:cpOseG3V.net]
- 多次元配列の in-place な添字の入れ替え (transpose) って上手いやり方知られてますか?
多次元配列の各要素は一次元に配置されてると仮定して良いです (行優先でも列優先でも良いです)
- 275 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 19:01:36.72 ID:QNK25992.net]
- >>266-267
ありがとうございます とりあえず要素そのものじゃなくポインタかインデックスでやれば良いことに気づけました >>267 >片方だけソートしたら 両方ソートするイメージでした
- 276 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 20:38:48.11 ID:Cfq+H/IQ.net]
- >>269
縦横の二重ループで一つずつswapするしかないんじゃないかなー gslやgmtlはそうなってた
- 277 名前:デフォルトの名無しさん mailto:sage [2021/06/10(木) 21:10:03.36 ID:cpOseG3V.net]
- >>271
行列で言うと、上三角あるいは下三角の各要素を巡回して対応する要素と swap するみたいなことですよね? 多次元の場合も同じようにできますかね? 例えば3次元配列だったら、直方体を斜めに切って上三角錐か下三角錐の各要素を巡回するって理解で合ってますでしょうか
- 278 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 11:50:48.69 ID:6MS9qCPq.net]
- CMakeについてもこのスレでいいの?
- 279 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 12:12:28.01 ID:lhS8myn8.net]
- ちょっと違うね
スレないんなら立てたら?
- 280 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 15:24:20.00 ID:6w8Pdydz.net]
- スレ検索したらmakeスレなんて無いんだな
確かにここ10年位makefileなんて書いたことないけど…
- 281 名前:デフォルトの名無しさん mailto:sage [2021/06/11(金) 17:20:45.97 ID:6MS9qCPq.net]
- VSCodeで書く時は便利なんで・・・
- 282 名前:デフォルトの名無しさん [2021/06/12(土) 18:33:47.62 ID:ghBnzS2R.net]
- 過去に
make 使ったら負け ってスレがあった
- 283 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 18:44:06.98 ID:uNQxUpm0.net]
- まあ今どきMakefileなんて人間様が書くもんじゃないし
- 284 名前: mailto:sage [2021/06/12(土) 20:02:28.17 ID:bG62sF4n.net]
- >>278
え?
- 285 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 20:28:22.70 ID:uNQxUpm0.net]
- え?
- 286 名前:蟻人間 mailto:sage [2021/06/12(土) 20:35:26.24 ID:bymgAWyc.net]
- 立ててみた。活用してね。
ビルド自動化ツールCMake Part.1 https://mevius.5ch.net/test/read.cgi/tech/1623496111/
- 287 名前:デフォルトの名無しさん [2021/06/12(土) 20:57:53.25 ID:1iQypGIZ.net]
- cmakeってすごいよね
Makefile作れるだけかと思ってたらVisual Studioのソリューションファイルなんかも生成できて驚いた
- 288 名前:蟻人間 mailto:sage [2021/06/12(土) 21:13:38.88 ID:bymgAWyc.net]
- >>282
CMakeはGitHub Actionsと組み合わせると、ビルドとテストが自動化できて最強なんだよ。 コマンドラインで出来るめんどくさい仕事は自動化してほしいよね。
- 289 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 21:40:08.27 ID:sKjH8uh5.net]
- AutomakeもそううだがCMakeはなんでそんなことができるのか原理がわからん……
- 290 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 21:43:46.98 ID:txLE/1e4.net]
- mesonとかautotoolsとかのビルドツール共用でも良かったかな
- 291 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 21:49:00.69 ID:sKjH8uh5.net]
- ていうかそもそもVisual Studioのslnファイルの仕様とか公式に公開されていましたっけ
- 292 名前:蟻人間 mailto:sage [2021/06/12(土) 21:52:27.12 ID:bymgAWyc.net]
- >>286
中身見てごらん。テキストファイルだよ。
- 293 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 22:04:02.95 ID:o9BWFjAs.net]
- せっかくスレ作ったのにこちらで話してる
- 294 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 22:05:38.91 ID:sKjH8uh5.net]
- >中身見てごらん。テキストファイルだよ。
ヒエッ…、、、ブラックスワン理論…!
- 295 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 22:06:14.61 ID:Ap+0oKF5.net]
- バージョン変わるとすぐ壊れるがな。
dockerで環境揃えてmake使った方がよっぽど安定するわ。
- 296 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 22:27:19.91 ID:7X99TIl2.net]
- >>286
全部のタグを説明するリファレンスのようなものがあるかどうかは知らんけど、ある程度はドキュメント書かれているよ。
- 297 名前:デフォルトの名無しさん mailto:sage [2021/06/12(土) 22:33:32.97 ID:gSM3EPqA.net]
- >>286
マイクロソフトってそう言うドキュメントは結構まめに公開してるよ https://docs.microsoft.com/en-us/visualstudio/extensibility/internals/solution-dot-sln-file?view=vs-2019
- 298 名前:デフォルトの名無しさん [2021/06/12(土) 23:44:11.11 ID:l5AvwX9O.net]
- M$にベンダーロックインされる。
- 299 名前:デフォルトの名無しさん mailto:sage [2021/06/13(日) 00:08:56.86 ID:nx3q3d7E.net]
- sln作らなくても最近のVisualStudioは直接cmakeプロジェクト読めるぞ
- 300 名前:デフォルトの名無しさん mailto:sage [2021/06/13(日) 03:39:36.78 ID:8vbdM5AU.net]
- 新しいプロジェクトするならmesonを試したいなー
|

|