- 1 名前:デフォルトの名無しさん (ワッチョイ 0f63-sFbk) mailto:sage [2023/04/21(金) 14:05:20.18 ID:rqj2HSDF0.net]
- !extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください) C言語の話題のみ取り扱います C++の話題はC++スレへ 質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C17 www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf C11 www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C23 最新ドラフト https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf C99 www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf kikakurui.com/x3/X3010-2003-01.html C FAQ 日本語訳 www.kouno.jp/home/c_faq/ JPCERT C コーディングスタンダード https://www.jpcert.or.jp/sc-rules/ ※前スレ C言語なら俺に聞け 160 https://mevius.5ch.net/test/read.cgi/tech/1672191630/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
- 453 名前:デフォルトの名無しさん (ワッチョイ 6301-vKG+) mailto:sage [2023/08/13(日) 22:00:40.70 ID:37XsjItY0.net]
- C++でnewではなくmallocをあえて使う理由って何かあるのかな?
- 454 名前:デフォルトの名無しさん (ワッチョイ b67a-TNXw) mailto:sage [2023/08/13(日) 23:29:06.42 ID:oUeYwTCa0.net]
- >>449
くわしくありがとう。そういう見方もあるのですね。 アンケートで拮抗というのはわかる気がしていて、その理由が入門書やサイトにあるのではと思うのです。 >>450はなぜそう思いますか。
- 455 名前:デフォルトの名無しさん (ワッチョイ 7679-BXQ2) mailto:sage [2023/08/14(月) 00:14:53.81 ID:VnUPK1/b0.net]
- void *が無かった頃はmallocもintやchar *を返していた時代がある
処理系渡り歩いてきた老害ほどmallocでキャストしたがるだけだろ 大した話でも何でもない
- 456 名前:デフォルトの名無しさん (ワッチョイ 9aad-eQmn) [2023/08/14(月) 00:21:55.24 ID:B5PklEie0.net]
- 可読性を上げるためでもあるのでは?
- 457 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f3e-po/e) mailto:sage [2023/08/14(月) 00:30:57.60 ID:sy90BXR10.net]
- >>454
可読性が上がるだろうか? 少なくとも >>448 のように変数の型がその行に書いてあるようなケースでは 誤読の余地は全然ないように見えるので同じ情報を重複して書く意味が感じられない。
- 458 名前:デフォルトの名無しさん (ワッチョイ 9aad-eQmn) [2023/08/14(月) 00:38:36.06 ID:B5PklEie0.net]
- まあ確かに型がすぐ分かる場合は意味ないな。
- 459 名前:デフォルトの名無しさん (ワッチョイ 4e46-8Neb) [2023/08/14(月) 09:03:40.40 ID:6kZXa4aF0.net]
- >>448
組織(会社とか)のコードだと、どんな水準の人がメンテするか分からないので、冗長を採るかな。 > 冗長 int *p = (int *)malloc(400);
- 460 名前:デフォルトの名無しさん (オイコラミネオ MMe3-vKG+) mailto:sage [2023/08/14(月) 09:28:55.46 ID:4XD1xMqSM.net]
- この話が一番冗長だtoomou
kanjidenakunatta
- 461 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f3e-Z7S6) mailto:sage [2023/08/14(月) 10:36:19.28 ID:sy90BXR10.net]
- >>452
K&R の第二版 (日本語版) でもキャストは必要だと書かれているんだよなあ……。 本の最後に仕様をまとめているところでは暗黙に変換されることも言及されているのでおそらく改定漏れなだけなんだろうけど。 かなり長く定番の入門書だったのでこの本の影響も大きいと思う。
- 462 名前:デフォルトの名無しさん (ワッチョイ 4e63-GMkv) mailto:sage [2023/08/14(月) 11:55:47.09 ID:s6PscRDz0.net]
- 暗黙に変換って、プログラム書いてる本人の意図通りなら良いんだけど
意図と違った変換するとやっかいだな
- 463 名前:デフォルトの名無しさん (オイコラミネオ MMe3-vKG+) mailto:sage [2023/08/14(月) 13:20:28.84 ID:JlnnwsPwM.net]
- ここがC言語スレだと思い出して欲しい
- 464 名前:デフォルトの名無しさん (スップ Sd5a-f0d0) mailto:sage [2023/08/14(月) 13:23:53.19 ID:4NX3l0Vmd.net]
- Cの暗黙の型変換なんて高が知れてるだろ
- 465 名前:デフォルトの名無しさん (テテンテンテン MMb6-v80P) mailto:sage [2023/08/14(月) 14:02:18.88 ID:XhXbjspZM.net]
- 昔のmalloc()ってchar*とか返してた気がするな
最初っからvoid*って有ったのだろうか?
- 466 名前:デフォルトの名無しさん (オイコラミネオ MMe3-vKG+) mailto:sage [2023/08/14(月) 14:16:28.68 ID:JlnnwsPwM.net]
- すべての戻り値はintである
ポインタかどうかは書いた人間がが判断する
- 467 名前:デフォルトの名無しさん (ワッチョイ 4e63-GMkv) mailto:sage [2023/08/14(月) 15:03:08.99 ID:s6PscRDz0.net]
- (void)main(void)
- 468 名前:蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdba-F9Mj) mailto:sage [2023/08/14(月) 15:17:16.05 ID:MULxLxBHd.net]
- >>464
AIが混乱するようなことを言わないでほしいも
- 469 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f3e-po/e) mailto:sage [2023/08/14(月) 16:43:05.60 ID:sy90BXR10.net]
- >>464
それ LLP64 でも同じこと言えるの?
- 470 名前:デフォルトの名無しさん (ワッチョイ 4ecf-vKG+) mailto:sage [2023/08/14(月) 17:46:44.25 ID:3TQy/ZGT0.net]
- >>464
それはB言語のようなミニ言語やBLISSやアセンブラのようなシステム記述言語でよくあるやつだな。 そういう血塗られたルーツを持つCが普及してしまったのがこの大災害の原因ではあるが。
- 471 名前:デフォルトの名無しさん (ワッチョイ 4e63-GMkv) mailto:sage [2023/08/14(月) 18:03:50.08 ID:s6PscRDz0.net]
- 今は血を流さずに戦争ができます
- 472 名前:デフォルトの名無しさん (ワッチョイ 9710-8Nw3) mailto:sage [2023/08/14(月) 18:07:41.52 ID:WVbdJjmk0.net]
- ポインタじゃない構造体の代入はメモリコピーで、intじゃないよね
- 473 名前:デフォルトの名無しさん (ワッチョイ 9710-8Nw3) mailto:sage [2023/08/14(月) 18:22:17.15 ID:WVbdJjmk0.net]
- >>467
それですよ。 あと、実際の案件で メモリバスが32より大きい環境でも、64ビット全部が使われてるとは限らないです。 あるビットにこう入ってたら40ビットのxxメモリ空間を指し、あるビットにこう入ってたら48ビットのyy空間を指す、とか ポインタ値にも複数の種類がある(ように設計する事がある) 何が言いたいかというと全部intだなんてのは、分かってない証拠
- 474 名前:デフォルトの名無しさん (ワッチョイ 4e63-GMkv) mailto:sage [2023/08/14(月) 18:39:04.59 ID:s6PscRDz0.net]
- 可変長のポインタって、すごいな
- 475 名前:デフォルトの名無しさん (オイコラミネオ MMe3-vKG+) mailto:sage [2023/08/14(月) 18:42:29.14 ID:JlnnwsPwM.net]
- 昔は関数から戻り値として構造体が返せなかった
MSか勝手に実装した
- 476 名前:デフォルトの名無しさん (ワッチョイ 4e63-GMkv) mailto:sage [2023/08/14(月) 18:47:31.20 ID:s6PscRDz0.net]
- 返せなくても困らなかったけど
例えばポインタで返しているAPIはいくつかあるだろうし 呼出時に渡す構造体で返すやり方も普通にある(こちらの方が多いかも)
- 477 名前:デフォルトの名無しさん (ワッチョイ b67a-TNXw) mailto:sage [2023/08/14(月) 21:33:10.14 ID:VCWTWKLb0.net]
- 8051風のMCUにはメモリ空間が複数種類あるものがあって、どのメモリ空間をポイントするかによってポインタのサイズが1byteか2byteかに分かれるというのがありました。
- 478 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f3e-po/e) mailto:sage [2023/08/14(月) 22:08:33.35 ID:sy90BXR10.net]
- >>473
K&R の初版 (1978 年) の段階では 構造体を関数の返却値に出来る仕様ではなかったのは確かだが その制限は将来的に削除されるとも書いてある。 構造体を返せるようにするのは設計者の計画の内だ。 最初に実装したのが誰なのかは知らんが「勝手に」とは言えないだろう。
- 479 名前:デフォルトの名無しさん (ワッチョイ 4e63-GMkv) mailto:sage [2023/08/14(月) 22:12:43.60 ID:s6PscRDz0.net]
- えてして実装が先で、規格になるのは後
というのはよくある話
- 480 名前:デフォルトの名無しさん (ワッチョイ 7679-BXQ2) mailto:sage [2023/08/15(火) 18:53:02.89 ID:hBALyWzq0.net]
- 規格が先行することなんて無いでしょ
出来レースみたいな例外を除けば
- 481 名前:デフォルトの名無しさん (ワッチョイ 4ecf-eQmn) [2023/08/15(火) 19:27:12.11 ID:RzZaP1Xc0.net]
- 仕様もクソもANSI Cが出来るまでCに仕様だの規格だの自体がなかったよ
K&Rにしても当時はあくまで標準って位置づけだったし、各処理系で互換性のない部分が結構ある時代だった そもそもK&Rって本自体Cの言語としての仕様を示すための本じゃなくて、Cの使い方を説明するユーザーガイド的な書籍だしな 大体、当のデニスリッチーからしてK&R初版の時点で自分のコンパイラではすでに構造体のやりとりを実装させてたんだから
- 482 名前:デフォルトの名無しさん (ワッチョイ f358-yhDR) [2023/08/17(木) 17:55:25.45 ID:3zgw8j7r0.net]
- K&Rはバイブルってだけ
宗教に喩えて開祖だか教祖だかが著したもの
- 483 名前:デフォルトの名無しさん (ワッチョイ 8b01-vKG+) mailto:sage [2023/08/17(木) 17:57:11.47 ID:PGwDphC60.net]
- バイブルに従え
- 484 名前:デフォルトの名無しさん (ワッチョイ 4e46-8Neb) [2023/08/17(木) 18:38:44.78 ID:ZHeAFIgr0.net]
- C言語ルター派
- 485 名前:デフォルトの名無しさん (ワッチョイ 2702-4obo) mailto:sage [2023/08/17(木) 19:50:44.50 ID:J3LrsntM0.net]
- 般若心経
- 486 名前:デフォルトの名無しさん (スップ Sdba-QvTc) mailto:sage [2023/08/17(木) 20:29:24.71 ID:o4Mq35bqd.net]
- >>481
天国が来るだろう(構造体の戻り値)って書いてあるんだから天国の到来を疑ってはいかんだろw
- 487 名前:デフォルトの名無しさん (アウアウウー Sa45-GdOV) mailto:sage [2023/08/19(土) 16:55:05.41 ID:YiVhsdBOa.net]
- 剣かK&Rか貢納か
- 488 名前:デフォルトの名無しさん (ワントンキン MMd3-3T4A) mailto:sage [2023/08/19(土) 21:36:28.88 ID:cGpjgVdNM.net]
- 天国から帰ってくるのはヨッパライくらい
- 489 名前:デフォルトの名無しさん (オッペケ Sr0d-/Zz/) mailto:sage [2023/08/19(土) 22:45:11.13 ID:/061VjvDr.net]
- なーおまえ、c言語ちゅーもんはそんなに甘いもんやおまへんのや。もっと真面目にやれー
- 490 名前:デフォルトの名無しさん (ワッチョイ 93ad-qLW0) [2023/08/20(日) 15:24:28.02 ID:pbHEs6OP0.net]
- >>480
そういう感じでバイブルと呼ばれる本がいくつかあって、暫くしたら本のタイトルにバイブルって入ってるやつが出てきてアホかと思った事がある。 まあ、本のタイトルは出版社側がなんとなく売れそうな感じのものを考えて付ける事が多いらしいので仕方がない事なのかも知れないが。
- 491 名前:デフォルトの名無しさん (ワッチョイ 93ad-qLW0) [2023/08/20(日) 15:26:20.60 ID:pbHEs6OP0.net]
- >>487
レコードの回転数変えるように。 などと書いて話が通じる人は年寄り。
- 492 名前:デフォルトの名無しさん (ラクッペペ MM4b-pGo3) mailto:sage [2023/08/20(日) 16:08:23.89 ID:CcD0k09aM.net]
- 33回転、45回転、78回転
- 493 名前:デフォルトの名無しさん (ワッチョイ c946-6Yea) mailto:sage [2023/08/20(日) 16:45:30.39 ID:bQFpfsbr0.net]
- LP 33+1/3 回転を更に Long Play 化したのが LLP64 なの?
- 494 名前:デフォルトの名無しさん (ワッチョイ 2b63-/QKx) mailto:sage [2023/08/20(日) 20:08:06.72 ID:GxzweHHZ0.net]
- 針ってまだ売ってるんだな、知らなかったw
- 495 名前:デフォルトの名無しさん (テテンテンテン MM4b-0mpE) mailto:sage [2023/08/20(日) 20:37:34.57 ID:qQCDJN6bM.net]
- 逆に今はレコードブームだし
- 496 名前:デフォルトの名無しさん (スッップ Sdb3-jt3B) mailto:sage [2023/08/20(日) 20:38:55.31 ID:WX+gcEAed.net]
- >>491
なんで回転数早くなってるねんw
- 497 名前:デフォルトの名無しさん (テテンテンテン MM4b-0mpE) mailto:sage [2023/08/20(日) 20:40:51.45 ID:qQCDJN6bM.net]
- 回転数が速いと情報量が増える
要するに音質が良くなるんだろ
- 498 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 893e-glFA) mailto:sage [2023/08/20(日) 21:28:54.03 ID:CVtYBdI90.net]
- >>492
いまどきのレコードプレイヤーはレーザーで読み取るタイプのもあるんやが 音質や使い勝手よりも針を落とす感覚が好きな懐古趣味の人も 少なからずいそうやなと思う。
- 499 名前:デフォルトの名無しさん (ワッチョイ 2b63-/QKx) mailto:sage [2023/08/20(日) 21:44:18.30 ID:GxzweHHZ0.net]
- そのうち量子センサーなんてでてきて、
盤面を一瞬で読み取って再生する何て出てくるかもね 知らんけど
- 500 名前:デフォルトの名無しさん (ワッチョイ 93ad-hPrW) [2023/08/20(日) 22:47:50.93 ID:pbHEs6OP0.net]
- 盤面を写真撮影して凹凸を一度に全部読み、後は再生するだけ。なんてのはできそうだな。
- 501 名前:デフォルトの名無しさん (テテンテンテン MM4b-0mpE) mailto:sage [2023/08/20(日) 22:56:04.52 ID:pKCQsYPtM.net]
- >>498
盤面をスマホで読み取らせて、それを再生してると思わせといて、実はラベルを解析して事前に録音済みのデータを再生するという、イカサマサービスを思い付いたw
- 502 名前:デフォルトの名無しさん (ワッチョイ 2bcf-YAjS) mailto:sage [2023/08/20(日) 23:03:56.28 ID:P3ytobrG0.net]
- こまわりくんはレコードの溝読めたな。
- 503 名前:デフォルトの名無しさん (ワッチョイ 93ad-hPrW) [2023/08/20(日) 23:13:57.98 ID:pbHEs6OP0.net]
- >>499
OCRプログラムでラベルの写真のタイトル部分の文字列読ませれば可能だが、問題は、ラベルに似せたものの上に書いた文字でも同じように読んで成功してしまうことだ。つまりレコード不要。
- 504 名前:デフォルトの名無しさん (ワッチョイ 2b63-/QKx) mailto:sage [2023/08/20(日) 23:16:52.12 ID:GxzweHHZ0.net]
- そういえばオープンリールも速度とトラック数にこだわりがあったな
- 505 名前:デフォルトの名無しさん (テテンテンテン MM4b-0mpE) mailto:sage [2023/08/20(日) 23:22:22.29 ID:pKCQsYPtM.net]
- >>501
さすがにレコードか位は判別可能なんで、そういう誤魔化しは除外できるでしょ つうか、インチキなんだからどうでもいいんだけどねw
- 506 名前:デフォルトの名無しさん (スッップ Sdb3-jt3B) mailto:sage [2023/08/20(日) 23:46:32.25 ID:WX+gcEAed.net]
- 人間「このレコードかけて」
AIスピーカー「かしこまりました…あーあーはってしーないー」 人間「お前が歌うんかい!」
- 507 名前:デフォルトの名無しさん (ワッチョイ 5910-oBFI) mailto:sage [2023/08/21(月) 00:56:03.52 ID:h/vumT/U0.net]
- >>499
ワロタ …でも「顧客が本当に必要なもの」はそれかもしれない
- 508 名前:デフォルトの名無しさん (ワッチョイ 2b63-/QKx) mailto:sage [2023/08/21(月) 00:58:44.27 ID:EVtKvg8p0.net]
- 曲を再生して、それをスマホに聴かせ、曲名やアルバム名を調べる
というのは割と使ってる
- 509 名前:デフォルトの名無しさん (ワッチョイ 7101-vfxM) [2023/08/23(水) 12:33:50.88 ID:WRsTeN290.net]
- localtimeでtm型のポインタが返ってきますが
これはfreeのような後始末はしなくても良かったんでしたっけ? 以下のt1の後始末です #include <time.h> #include <stdio.h> int main () { time_t t0 = time (NULL); struct tm *t1 = localtime (&t0); return 0; }
- 510 名前:デフォルトの名無しさん (ワッチョイ 93ad-Dfy6) mailto:sage [2023/08/23(水) 12:46:33.56 ID:RWX4pd1L0.net]
- 不要
静的な領域なんで その代わりスレッドセーフじゃないし 次に呼び出したら値が変わっちゃうのでそのまま使うならコピー必須
- 511 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 893e-glFA) mailto:sage [2023/08/23(水) 13:08:22.64 ID:d+s8esX90.net]
- 時間系関数の一部では同じ型のポインタを返す他の関数が
内容を書き換えることもあるということにも気を付ける必要がある。 つまり localtime が返したポインタが指す先は gmtime の呼び出しで内容が変わるかもしれないし変わらないかもしれない。
- 512 名前:デフォルトの名無しさん (ワッチョイ 7101-vfxM) mailto:sage [2023/08/23(水) 13:18:07.19 ID:WRsTeN290.net]
- >>508,509
あざーす! 思い出しました! そうでした
- 513 名前:デフォルトの名無しさん (スップ Sdb3-Vj9P) mailto:sage [2023/08/23(水) 13:23:04.60 ID:Tm9lJ2oNd.net]
- Cの標準ライブラリはメモリ操作関係やsprintfみたいな書式出力系以外は古臭くてほぼ使い物にならないから
システムのAPIを直接呼んだ方がいいよ ガハハ
- 514 名前:デフォルトの名無しさん (ワッチョイ 5910-oBFI) mailto:sage [2023/08/23(水) 13:57:11.07 ID:dIB9DDlN0.net]
- >>511
えー、お名前教えて あなたとあなたのコードが関係するプロジェクトは全部避けたいですw
- 515 名前:デフォルトの名無しさん (ワッチョイ 7101-vfxM) mailto:sage [2023/08/23(水) 13:59:16.75 ID:WRsTeN290.net]
- >>511
以前に以下のように書いてるところを using boost::posix_time; using std; cout << to_simple_string (second_clock::local_time ()) << '\n'; C++にchronoが入ったので標準ではどう書けば良いのか調べてまして 以下の例を見つけそこでstd::localtime使ってるので聞きました https://cpprefjp.github.io/reference/chrono/time_point.html std::system_clock::time_pointってstd::ostreamに直接出力できないんですかね? すれ違いかもしれんですが
- 516 名前:デフォルトの名無しさん (ワッチョイ 7101-vfxM) mailto:sage [2023/08/23(水) 15:39:04.68 ID:WRsTeN290.net]
- 同じ出力になる以下を使用することにします
$ cat test.cpp #include <iostream> #include <boost/date_time/posix_time/posix_time.hpp> #include <chrono> #include <ctime> #include <iomanip> int main () { std::cout << boost::posix_time::to_simple_string (boost::posix_time::second_clock::local_time ()) << '\n'; std::chrono::system_clock::time_point p {std::chrono::system_clock::now ()}; std::time_t t {std::chrono::system_clock::to_time_t (p)}; std::tm lt; localtime_r (&t, <); std::cout << std::put_time (<, "%Y-%b-%d %H:%M:%S\n"); return 0; } $ g++ test.cpp $ ./a.out 2023-Aug-23 15:35:01 2023-Aug-23 15:35:01
- 517 名前:デフォルトの名無しさん (テテンテンテン MM4b-0mpE) mailto:sage [2023/08/23(水) 16:21:15.95 ID:mK4fJzJ6M.net]
- >>512
Win32使ってCでコーディングするなら、Win32以外のAPIを呼び出す必要がないな
- 518 名前:デフォルトの名無しさん (ワッチョイ c101-YAjS) mailto:sage [2023/08/23(水) 19:26:23.68 ID:De6qHSvf0.net]
- 標準入出力関数を Win32APIだけで実装しなおすのはなかなか
車輪の再発明くさい案件になるな
- 519 名前:デフォルトの名無しさん (オイコラミネオ MM1d-YAjS) mailto:sage [2023/08/23(水) 19:53:06.85 ID:7GDemJR0M.net]
- 残念ながらC標準ライブラリは古くて当たり前なんだ…
それを基準にして多くの人が回ってるから変えられないんだろう でも人間の使える時間は限られてるので使えるものはうまく使ったほうがいい メンテナンス性は知らないが
- 520 名前:デフォルトの名無しさん (スップ Sdb3-jt3B) mailto:sage [2023/08/23(水) 19:55:44.31 ID:6N7MylZZd.net]
- 新しく作り直したのに使い物にならないのがWIN32APIの凄いところなんだよなw
- 521 名前:デフォルトの名無しさん (オイコラミネオ MM1d-YAjS) mailto:sage [2023/08/23(水) 19:59:10.27 ID:7GDemJR0M.net]
- win95ってほぼ30年前でしょ…
- 522 名前:デフォルトの名無しさん (ワッチョイ 5910-oBFI) mailto:sage [2023/08/23(水) 20:09:03.11 ID:dIB9DDlN0.net]
- >>515
Win32?今の話の流れと全然関係ないです 私はLinux上で開発してるけど、それも関係ない いいからお名前教えて
- 523 名前:デフォルトの名無しさん (ワッチョイ 5910-oBFI) mailto:sage [2023/08/23(水) 20:14:42.63 ID:dIB9DDlN0.net]
- まあいいや。どうせ永遠に話通じないし、意味ないね、スレ汚しごめん> all
世界中のあらゆる人と意思疎通できる訳がない
- 524 名前:デフォルトの名無しさん (ワッチョイ 5910-oBFI) mailto:sage [2023/08/23(水) 20:17:30.73 ID:dIB9DDlN0.net]
- >>515
あなたもごめんね、信念に従ってそのまま生きて下さい
- 525 名前:デフォルトの名無しさん (ブーイモ MMab-NzR0) mailto:sage [2023/08/23(水) 20:26:41.70 ID:magUjDjkM.net]
- 何でWinで開発する人って標準ライブラリを毛嫌いしてるんですか?
- 526 名前:デフォルトの名無しさん (ワッチョイ 2b63-/QKx) mailto:sage [2023/08/23(水) 20:37:13.42 ID:gVkUNQKt0.net]
- システムコールとか呼んでなかったか?
たしか、目標をセンターに入れてスイッチ、だった
- 527 名前:デフォルトの名無しさん (テテンテンテン MM4b-0mpE) mailto:sage [2023/08/23(水) 23:51:05.54 ID:Ed2C94gyM.net]
- Win32とかゲーム開発する時は必須だろ
デバッグ中はprintf使ったりするけど、最終的にはバイナリに標準ライブラリのコードは含めない
- 528 名前:デフォルトの名無しさん (スップ Sdb3-jt3B) mailto:sage [2023/08/23(水) 23:56:23.25 ID:6N7MylZZd.net]
- GNUみたいにそれなりの人たちがディスカッションして作ったものではなく
いかにもマイクロソフトのサラリーマンプログラマたちが適当に会議して作った仕様に見えるので信仰の対象にしてるのは気がしれんw
- 529 名前:デフォルトの名無しさん (ワッチョイ 4102-DaUO) mailto:sage [2023/08/24(木) 00:03:34.65 ID:7wZt4qen0.net]
- >>523
Win16でmallocなんか使ってたらころされてしまいますよ
- 530 名前:デフォルトの名無しさん (ワッチョイ 2b63-/QKx) mailto:sage [2023/08/24(木) 00:24:02.15 ID:0ALYOmXL0.net]
- そこでfar pointerです
- 531 名前:デフォルトの名無しさん (スップ Sdb3-jt3B) mailto:sage [2023/08/24(木) 00:43:25.45 ID:NfI5GYO1d.net]
- 16ビットで十分なハンドル値をnearポインタにキャストするというのはいいアイデアだった
- 532 名前:デフォルトの名無しさん (ワッチョイ 7101-vfxM) mailto:sage [2023/08/24(木) 00:56:52.45 ID:hEI/Eij50.net]
- あぁなるほど!
16bitの頃のMSの貧弱な開発環境で育ったせいで 標準Cに対しては屈折した気持ちのままなのねw
- 533 名前:デフォルトの名無しさん (ワッチョイ db79-wKkg) mailto:sage [2023/08/24(木) 01:06:43.62 ID:W+JHQ2GG0.net]
- 標準ライブラリは古いつーか実環境を考慮してないだけでbit数はあまり関係ない…
理解してないのに無理に話に入ってこんでもいいぞ
- 534 名前:デフォルトの名無しさん (テテンテンテン MM4b-0mpE) mailto:sage [2023/08/24(木) 01:26:43.52 ID:WP7jiBq4M.net]
- >>526
いや、初期のマイクロソフト知らないのかよw 闘うプログラマーとか読んでみろ めちゃくちゃおもろいよ そんなことも知らないとか、モグリも大概にしろ
- 535 名前:デフォルトの名無しさん (テテンテンテン MM4b-0mpE) mailto:sage [2023/08/24(木) 01:40:06.60 ID:WP7jiBq4M.net]
- macOS(iOS)のアプリ作る時は、OPENSTEP由来のFoundationフレームワークを使うだろ
こうなるとprintfも使わずにNSLogばっかりだなw
- 536 名前:デフォルトの名無しさん (ワッチョイ 93ad-hPrW) [2023/08/24(木) 02:24:55.77 ID:LAGetXxi0.net]
- そもそもC言語で新規開発すること自体がほとんどないので標準ライブラリ使うかどうかは今となってはどうでも良い。
- 537 名前:デフォルトの名無しさん (スフッ Sdb3-G+yN) mailto:sage [2023/08/24(木) 07:36:25.07 ID:6SD6OvDLd.net]
- macOS以前のmacのCはもっとひどかった黒歴史
- 538 名前:デフォルトの名無しさん (スッププ Sdb3-jt3B) mailto:sage [2023/08/24(木) 12:16:23.79 ID:50jyCEBUd.net]
- >>532
その手の本を本気にするなよ恥ずかしいw 小説だぞ
- 539 名前:デフォルトの名無しさん (テテンテンテン MM4b-0mpE) mailto:sage [2023/08/24(木) 12:58:04.14 ID:piehDxfAM.net]
- >>536
それで煽ってるつもりかよw 知らないなら黙ってろよ
- 540 名前:デフォルトの名無しさん (テテンテンテン MM4b-0mpE) mailto:sage [2023/08/24(木) 13:05:10.53 ID:piehDxfAM.net]
- 闘うプログラマーをディスる奴が居るとはな
さすがモグリは違うw
- 541 名前:デフォルトの名無しさん (スッププ Sdb3-jt3B) mailto:sage [2023/08/24(木) 16:07:54.33 ID:s7pHw0+wd.net]
- お前の聖書を貶されて怒るのはわかるが
ただの宗教を他人におしつけるなw
- 542 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 893e-glFA) mailto:sage [2023/08/24(木) 17:35:21.45 ID:575mCkoc0.net]
- 「綺麗なのは使われてないものだけ」みたいな格言をどっかで見た。
- 543 名前:デフォルトの名無しさん (オイコラミネオ MM1d-YAjS) mailto:sage [2023/08/24(木) 22:11:17.69 ID:ypVJRmCUM.net]
- 闘うプログラマー懐かしいな
随分と前に上下巻の頃に読んだ うろ覚えで申し訳ないがwinodwsのAPIセットを考えるのにカトラーと幹部がクルーザーを1~2週間借りて 湖でクルージングしながらゆっくり考えたってところが印象的 クリエイターって感じで良かった
- 544 名前:デフォルトの名無しさん (オイコラミネオ MM1d-YAjS) mailto:sage [2023/08/24(木) 22:22:10.52 ID:ypVJRmCUM.net]
- 残りの人生がどれだけあるか知らないけどそういう環境でそういう仕事してみたいなと思う
- 545 名前:デフォルトの名無しさん (ワッチョイ 2b63-/QKx) mailto:sage [2023/08/24(木) 22:45:31.31 ID:0ALYOmXL0.net]
- C言語の開発って、
ジャングルの中、誰からも支援を受けずに 自給自足で生き残って敵に勝つイメージがあるな 必要な道具は自分で作るみたいな 恵まれた環境で使うには難しい世の中になってきた
- 546 名前:デフォルトの名無しさん (ワッチョイ 9302-e/Qn) [2023/08/24(木) 23:08:24.66 ID:egx7h1gE0.net]
- 闘うプログラマー読んだことないモグリだけど
カトラーがDECから来る前からWindows APIはあったよね?
- 547 名前:デフォルトの名無しさん (オイコラミネオ MM1d-YAjS) mailto:sage [2023/08/24(木) 23:36:03.41 ID:ypVJRmCUM.net]
- Windowsは1.0からあるからなあw
闘うプログラマーはNTの開発物語 カトラーが関与したのはWindowsNTのAPIセット
- 548 名前:デフォルトの名無しさん (テテンテンテン MM4b-0mpE) mailto:sage [2023/08/24(木) 23:47:18.67 ID:Nhyf7NRLM.net]
- カトラーが実装したのはカーネルレベルのAPIでしょ
Win32はその上にある
- 549 名前:デフォルトの名無しさん (オイコラミネオ MM1d-YAjS) mailto:sage [2023/08/25(金) 00:02:25.25 ID:fBea/yqOM.net]
- win32はもともとWindows NTの機能だよ
それにカーネルだけ実装してWindows NTを発売したとは思えないけど 3.1とかはwin16 ついでNTでwin32 そのあと95が出てくる
- 550 名前:デフォルトの名無しさん (ワッチョイ 2b63-/QKx) mailto:sage [2023/08/25(金) 00:08:33.68 ID:NrcyVyXF0.net]
- フリーセルはWIn32sで動いていたんだよな
- 551 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 893e-glFA) mailto:sage [2023/08/25(金) 00:18:17.29 ID:EDIsU9Tc0.net]
- あの頃はネット接続も一般的ではなかったから Win32s は雑誌の付録とかの形でよく入ってたのを覚えてる。
俺はテックウィンの付録CDから入れたわ。
- 552 名前:デフォルトの名無しさん (ワッチョイ a19a-SOGH) mailto:sage [2023/08/25(金) 07:12:39.12 ID:Fur8du0o0.net]
- >>533
macOS(Mac OS X)になって、旧Mac OS由来のCarbon APIのサポートのため Foundationの下にCoreFoundationというCの共通ライブラリが作られたよね すなわちC言語が基礎と。おそらく今でも Carbon亡き今、CoreFoundationを直接使う必要はほぼないけど 書式出力は文字列のクラス(NSString/CFString)に含まれるというべきかな NSLogも書式出力を受け付けるが、元々ログ出力関数なので
- 553 名前:デフォルトの名無しさん (ワッチョイ 4d20-lN7b) [2023/08/31(木) 01:23:37.12 ID:zNsdnZGD0.net]
- Cの規格書の 7.15.1.1 va̲arg には以下の記述があります。
次の実引数が実際にはない場合,又は型が実際の(既定の実引数拡張に従って拡張された)次の実引数の型と適合しない場合,次に掲げる二つの場合を除いて,その動作は,未定義とする。 − 一方の型が符号付き整数型であり,もう一方の型が対応する符号無し整数型であり, そしてその値が,両方の型で表現可能な値である場合。 − 一方の型がvoid型へのポインタであり,もう一方の型が文字型へのポインタである場合。 これは例えば、可変長引数をとる関数にNULLポインタを渡し、呼び出された側で FILE *fp = va_arg(ap, FILE *); として受け取ってはいけない、という事を指すのだと理解しています。 なぜこのような規定が設けられたのでしょう?
|

|