C言語なら俺に聞け 160at TECH
C言語なら俺に聞け 160 - 暇つぶし2ch610:デフォルトの名無しさん
23/03/07 19:20:42.99 L3ZoYgrgd.net
いいか?C言語について俺に聞け
VAX11でcのコンバイラをcで作ろうとしたのはワシだ
当時のyacc lexに謎の挙動があって嫌気がさして失敗したが、、?

611:デフォルトの名無しさん
23/03/07 19:38:38.87 2Q8k5rzL0.net
創造主を作ったのは、オレだ、みたいな

612:デフォルトの名無しさん
23/03/07 22:59:35.82 s3GtgFEy0.net
インド料理屋で、NANを頼みました。

613:デフォルトの名無しさん
23/03/07 23:06:20.52 s3GtgFEy0.net
>>605
そういえばID論ってのがあって、何か高度な存在が人間や宇宙を作ったってやつだが(昔ながらの神が作ったというのと似ているが神ではない)、
それならばその高度な存在はどのようにして作られたのか?それはまた別の高度な存在によって作られたのか?
とするとその存在も別のもっと高度な何かに作られたのか?という具合に無間ループになってしまう。

614:デフォルトの名無しさん
23/03/07 23:18:55.74 aKlG86O40.net
ID論てのは地球のたった数億年で生命が生まれたのが信じがたいってだけで、
元の生命はどこかでもっと時間をかけて生まれたんじゃないかという話。

615:デフォルトの名無しさん
23/03/08 00:40:31.06 diq3Y+zm0.net
興味深いお話ですがスレ違いです

616:デフォルトの名無しさん
23/03/08 08:33:16.96 qdKF3wc3d.net
Cインタプリタなら昔作った
当時こういうの流行ってたし
いくつか書籍化もされてる

617:デフォルトの名無しさん
23/03/08 08:47:42.99 D4+z1pfo0.net
どうせならB作ればよかったのに

618:デフォルトの名無しさん
23/03/08 09:22:43.28 fOZ1V1tZd.net
>>607
ブートストラップローダという名前がついたのと似てるなw
コンピュータ起動時に次々と自分より大きいローダを読み込んで起動する様が「自分の靴紐を持ち上げて空を飛ぶ」ような無茶に思えるから

619:デフォルトの名無しさん
23/03/08 12:12:57.95 wYi2NpnKd.net
鉄則
1 困った時のGOTO勝利
2 CALL関数はマクロ展開のヘッダファイル
3 SQL呼び出しはstructの前に敗北
4 while こそループの王 forは邪教
5 そこでbreakするな
6 switch文が見えたらバグの腐海

620:デフォルトの名無しさん
23/03/08 12:52:17.24 qdKF3wc3d.net
でもswitchの巨大状態ループ便利なんよね
バグの温床かもしれんけどメンテは凄く楽

621:デフォルトの名無しさん
23/03/09 09:47:34.15 rNyfncCj0.net
あれやって 条件成立まって あれやって を 状態遷移しながらぶん回すときは
状態変数を int にして 巨大switch にしたくなる
けど こことここの間に新たな状態差し込みたいってときに 状態変数値どうしよう? っておよよする

622:デフォルトの名無しさん
23/03/09 09:53:04.07 rH46BtzXM.net
状態変数は列挙型にしておけば状態の追加や修正に合わせて具体的な値は勝手に変わる

623:デフォルトの名無しさん
23/03/09 10:05:04.42 rNyfncCj0.net
>>616
おおよそそれが一番良い解法なんだろうけど
次の状態へ ってのを同じ記述でいきたいよね と (return sts+1)

624:デフォルトの名無しさん
23/03/09 10:37:21.41 zXViYC6t0.net
FSMだね
古典的なハード設計では常套手段

625:デフォルトの名無しさん
23/03/09 10:42:55.43 m8Mymp8XM.net
状態マシンの欠点は割込みや並列処理の扱いが非常に厄介なところ
複数箇所から状態変数を更新される可能性を考慮すると泥沼に嵌る

626:デフォルトの名無しさん
23/03/09 10:48:34.22 kE5o8bWH0.net
更新処理は一カ所にして、順番待ちにするのが吉

627:デフォルトの名無しさん
23/03/09 10:54:14.30 WaHsZI+cM.net
通常処理のメインループと外部割込みの割込みハンドラ(特に緊急割込み処理)を同じキューで順番に更新すると処理が破綻しないか?

628:デフォルトの名無しさん
23/03/09 11:08:05.83 zXViYC6t0.net
ノンプリエンプティブなマルチは今でも


629:普通にやる 問題なきゃそれが楽だから



630:デフォルトの名無しさん
23/03/09 11:12:46.89 sK4pplDk0.net
組込みではプリエンプティブが一般的
応答性最優先でCPUの実行権を強制的に奪わないと最悪の場合は事故に繋がる

631:デフォルトの名無しさん
23/03/09 13:56:50.62 1gP/2BE4d.net
問題なきゃって言ってるのに最悪の場合って・・・

632:デフォルトの名無しさん
23/03/09 14:41:35.25 yDS62QUEM.net
組込みシステムのタスクスケジューラーでノンプリエンプティブマルチタスクって地雷源もいいところだろ
自殺願望でもあるのか

633:デフォルトの名無しさん
23/03/09 16:23:16.50 pN9rkknD0.net
組み込みと一言で括られてプリエンティブで良い悪いの議論をされるの抵抗ある人がここにいるけど俺以外でもかなり多いんじゃないかな
プリエンティブはタスクスイッチ自体が割り込み禁止を伴うクリティカル処理だからそれが組み込みに適しているとはいい難い
タスクスイッチのレジスタ退避復帰で何十サイクルも消費して待ってる割り込みが処理できずにいるのが許容できかは案件により過ぎる
片やノンプリでは少なくとも割り込みを汚さない
従って俺はどんな案件でも通用するノンプリでまず検討する事を推奨したい。プリエンでもタイミング的に問題ないねとなったら移行すればいい
いきなりプリエンありきで作る方が自殺行為に見える

634:デフォルトの名無しさん
23/03/09 16:36:55.55 StryrQ2LM.net
タイミング的に問題ないという判断の前提が一定時間以内に必ず応答出来るという保証が必要
応答時間が保証されないノンプリエンプティブ環境でシステム設計とか殆ど不可能にしか思えない

635:デフォルトの名無しさん
23/03/09 16:39:33.97 pN9rkknD0.net
割り込みにも大別してすぐに応答が必要なもの、メインのキューに回してもよい優先度低のものの2種類存在する
プリエンティブを採用できるかどうかは前者の応答にどれだけの遅延が許容されるかという事になる
割り込みハンドラを普通にCで書くとハンドラ内で使用するレジスタの退避コードが適当に生成されるが、
許容時間によってはインラインアセンブラで最小限のレジスタで書かざるを得ない場合がある
そういう案件だとプリエンティブの採用はありえない

636:デフォルトの名無しさん
23/03/09 16:41:41.13 pN9rkknD0.net
あーこれってノンプリエンプティブを何か誤解してる奴が話に参加してるってだけか
理解したわぁ

637:デフォルトの名無しさん
23/03/09 16:45:38.25 pN9rkknD0.net
623 625 627 これ同じ人か
もうちょっと勉強してから参加しようね

638:デフォルトの名無しさん
23/03/09 16:48:44.72 hgw38TJYM.net
いやその通りだよ
保証出来るようにアセンブラすら併用せざるを得ないのが泥沼の組込み開発
それでも駄目ならソフトウェアでなく専用ハードで物理的に処置する方向を検討する

639:デフォルトの名無しさん
23/03/09 16:57:03.69 EoI0IUhJM.net
ちなみにとある産業用モータドライバー基板開発のお話し

640:デフォルトの名無しさん
23/03/09 17:02:44.72 pN9rkknD0.net
>>631
タイミング調整にアセンブラ併記は組み込み案件でなくても普通に行われてるでしょ
それと専用ハードって簡単に言うけど、大抵の組み込み案件ってハードの部品点数減らしていく傾向だから非現実的な提案にしか見えないよ
簡単に用意できるなら苦労しないし廃業だわ

641:デフォルトの名無しさん
23/03/09 17:08:56.67 pN9rkknD0.net
そもそも俺が今相手してる奴って全員ID変えてどちら様だよ
議論もまともにできず論点ずらしにも失敗してお前ほんと今みじめだぞ

642:デフォルトの名無しさん
23/03/09 17:11:58.61 pN9rkknD0.net
よくみたらこれワッチョイスレじゃん全部ばれてて草

643:デフォルトの名無しさん
23/03/09 17:14:52.84 AnxNC5rK0.net
623はともかく 625と627はワッチョイ同じじゃん

644:デフォルトの名無しさん
23/03/09 17:20:18.66 iNLkXR0fM.net
要はトータルコストの問題
この件は高価な材料(主にレアアース)を多量に使用したモーターを安価な代替品に置き換えて
同等の能力を発揮させるために高度な電子制御(いわゆるベクトル電流制御)で駆動するのが狙いだった
実際メインのマイコン処理だけでは追い付かずセンサ周りの処理は別チップのDSPを採用してる
結果的に制御系のコストは増加したが全体としては前システムの約7割程度の費用に抑えられた
長文失礼

645:デフォルトの名無しさん
23/03/09 17:22:17.10 pN9rkknD0.net
>>623も言ってることおかしいけど別回線か何かだろ
そもそも組み込みはその最悪ケースを見積もりながら設計していくって前提知識がないし

646:デフォルトの名無しさん
23/03/09 17:22:30.90 kE5o8bWH0.net
自動運転車での危険回避行動のロジックとか、聞けるのかと楽しみにしてたのに

647:デフォルトの名無しさん
23/03/09 17:34:00.29 mZ/OHyfS0.net
電気・電子
URLリンク(rio2016.5ch.net)

648:デフォルトの名無しさん
23/03/09 17:41:37.81 zXViYC6t0.net
ハード絡みの話が出るのは仕方ないだろ
COBOLじゃないんだから

649:デフォルトの名無しさん
23/03/09 17:50:21.11 pN9rkknD0.net
>>637
これを1行で要約するとヤバいなあ…設計見積もりガバガバで採用したマイコンで処理できなくてハード追加調達して結果的に動いたわろたってことだろ
最近のH3失敗もだけど予算まともでもこういう経験値の奴らで作られる可能性を考えると寒いなあ
暖ったけえ話を知りたい

650:デフォルトの名無しさん
23/03/09 17:54:10.14 zXViYC6t0.net
若いのに頭固いっていうのかな
他人の言うことを聞く耳持たず自分の思い込みを自画自賛してるよな

651:デフォルトの名無しさん
23/03/09 18:26:27.17 Dl2bLbopM.net
このスレの年齢層はとても高い

652:デフォルトの名無しさん
23/03/09 18:29:05.52 sK4pplDk0.net
精神年齢は?

653:デフォルトの名無しさん
23/03/09 18:33:49.17 sK4pplDk0.net
疑心暗鬼で個人攻撃
プログラムではなくてワッチョイを語る
世も末だな

654:デフォルトの名無しさん
23/03/09 20:35:29.98 pN9rkknD0.net
最悪の場合は事故さん(>>623)がなんか被害妄想を始めてるけど
俺の主張は>>626以降で出してるから後は興味ないんだわ
反論があるならすればいいがせめてこのスレと関係ある技術的な話をしてね

655:デフォルトの名無しさん
23/03/09 20:49:30.54 sK4pplDk0.net
組込みマイコンでは常識的なレジスタバンク切替やコンテキストスイッチングのことに触れずに
レジスタ退避や復帰でサイクル消費するとか言ってる時点で組込み開発の経験が無いんだろうな
ということは分かる
余程の簡易的なものを除けばメインと割込みでいちいちスタック経由でレジスタ退避するような
間抜けなマイコンは無いだろ
それはx86のような汎用CPUの構造だ

656:デフォルトの名無しさん
23/03/09 21:04:47.03 VZ2yRc9EM.net
似たような意見が出てきたので補足するとバンク切替なら大体2,3クロックでレジスタセット丸ごと切り替わるから割込みのオーバーヘッド自体は大した負荷にはならない
反面x86の様な大規模なレジスタ群は持てないのでそもそもの用途と構造が違う

657:デフォルトの名無しさん
23/03/10 06:51:36.78 wZRM+8gY0.net
ドヤってるけど大したこと言ってないな

658:デフォルトの名無しさん
23/03/10 07:19:22.02 gnQ


659:OQJYP0.net



660:デフォルトの名無しさん
23/03/10 07:50:43.93 wZRM+8gY0.net
マルチで何タスクを並行で動かすのかによるだろ裏レジスタだけで済むかどうかは

661:デフォルトの名無しさん
23/03/10 07:56:30.74 wZRM+8gY0.net
無結合マルチCPUで楽々解決なんてこともあったな

662:デフォルトの名無しさん
23/03/10 07:57:42.45 gnQOQJYP0.net
知ってる範囲では8レジスタ×4バンクというのがあった
日本製(現在は事業撤退済)

663:デフォルトの名無しさん
23/03/10 08:08:15.26 gnQOQJYP0.net
そもそもマルチタスクのタイマ割込みの他に外部ポートからの多重割込みは
優先順位とレジスタ割当てをかなり慎重に検討するべき事項
並列処理の仕様はソフト設計の基本

664:デフォルトの名無しさん
23/03/10 08:24:52.79 wZRM+8gY0.net
並列じゃないソフト設計も普通にあるんだが

665:デフォルトの名無しさん
23/03/10 08:34:55.28 gnQOQJYP0.net
まあ外部割込みを一切禁止して常にポーリングでポート監視するシステムも無いことは無いが
ごく単純なパターンに限られるけどな
普通は外部からの入出力のトリガは割込みで受け付ける

666:デフォルトの名無しさん
23/03/10 08:41:29.45 wZRM+8gY0.net
そもそもタイミングがシビアなところはハードでできるのはそうするし
かなり特殊なケースにもFPGAの対応力はありがたい

667:デフォルトの名無しさん
23/03/10 08:47:32.61 gnQOQJYP0.net
そこまで行くとソフト設計者の範疇の外

668:デフォルトの名無しさん
23/03/10 08:50:32.68 wZRM+8gY0.net
ハードソフト協調設計をする中でソフトでどこまでやるかってこと

669:デフォルトの名無しさん
23/03/10 08:59:18.03 OFFvcl9SM.net
士農工商メカエレソフト
ソフト屋底辺の悲しさ
ハードソフト分担は大体は製品企画段階で決まる
メカ屋やエレキ(ハード屋)の尻拭いがソフト屋の仕事

670:デフォルトの名無しさん
23/03/10 09:06:33.88 +DlQ4xGFM.net
DSPあたりまではソフトでカバー出来るけどFPGAにまでなるとハードの仕事

671:デフォルトの名無しさん
23/03/10 09:17:19.56 wZRM+8gY0.net
CでROM焼きしてんのと
VerilogでFPGAやってんのは
遠くから見ても見分けがつかない

672:デフォルトの名無しさん
23/03/10 16:29:37.22 9R6reiLca.net
>>644
映画Winny観て来た
時代考証が微妙なところもあったが
ノスタルジー感じたい人は逝ってヨシ

673:デフォルトの名無しさん
23/03/10 16:33:31.81 9R6reiLca.net
ちなみに映画中に出て来たCのソースコードは
逆コンパイルしたようなコードで
変数名がめちゃくちゃだった

674:デフォルトの名無しさん
23/03/10 16:35:25.12 9R6reiLca.net
local_001 とか
local_666 みたいな
ずらずら並んでた

675:デフォルトの名無しさん
23/03/10 20:16:30.19 EGVo42nQ0.net
私を崇めよ
関数ポインタ配列が楽になる

676:
23/03/10 23:25:55.00 edbNYall0.net
>>608
パン=スペルミア仮説ともいいますね

677:デフォルトの名無しさん
23/03/11 10:14:57.49 AyWAtMH4d.net
>>665
オープンソースの何かのを借りてくればいいのにと思うが
正当な目的外だからだめかな

678:はちみつ餃子
23/03/11 10:33:06.84 VCVl4BMy0.net
実際に逆コンパイルされたものじゃないのか?
うろおぼえだが Winny の改造版 (?) を作ってた Lark 氏が逆コンパイルしたソースコードを放流していたような記憶がある。

679:デフォルトの名無しさん
23/03/11 15:00:32.33 R1SsWCE7d.net
scanf関数もクセが強い

680:デフォルトの名無しさん
23/03/11 18:34:55.65 Hy+SW7JA0.net
scanf の読み方は?

681:デフォルトの名無しさん
23/03/11 18:46:17.31 anM6KfKL0.net
すきゃんふ

682:デフォルトの名無しさん
23/03/11 19:06:51.49 HIr/E9uU0.net
すきゃんえふ

683:デフォルトの名無しさん
23/03/11 19:36:37.96 4mLQMbcb0.net
当時、京都府警がソースコードを押収したとか言ってなかったっけ
だとすると今でもあるのかな

684:デフォルトの名無しさん
23/03/11 20:41:12.44 0fOr9zyF0.net
そんな古いもんあんのかね
そもそも自分らの不手際で逮捕しなきゃいけない羽目になったんだから要らなくなったら即ポイ捨てだと思うけどね

685:デフォルトの名無しさん
23/03/12 07:29:50.79 WhaHkT9k0.net
すきゃんてぃ

686:デフォルトの名無しさん
23/03/12 12:04:15.69 8DcR0+gea.net
>>670
47氏本人が家宅捜査される場面で
編集中のソースコードって設定だから
本人がわざわざ逆コンパイルして使ってるのは可笑しい
仮に変数名自分で付けてたとしてもあんな名前でコード描いてたとは思えない

687:デフォルトの名無しさん
23/03/12 12:07:04.69 8DcR0+gea.net
>>672
SNMPを「すぬんぷ」って発音してる人が居て
会話中に「えっ???」ってなった

688:デフォルトの名無しさん
23/03/12 12:08:27.97 8DcR0+gea.net
あと別の人だけどswaponは「すわぽん」っていうのも
聴いてぎりぎり判るラインだったわ

689:デフォルトの名無しさん
23/03/12 12:10:31.51 8DcR0+gea.net
>>676
ほんそれ
京都府警のチョンボ情報漏れが先で逮捕に至ったのに
映画では逆の展開にされていて引いたわ
圧力掛かったんかね

690:デフォルトの名無しさん
23/03/12 12:11:07.17 zZ3L0xxp0.net
>>678
他のどんなコードを持ってきたとしても「あんなコードのはずがない」という突っ込みは受けそう。

691:デフォルトの名無しさん
23/03/12 12:23:09.80 /+cwNiL3d.net
京都府警りょうのキンタマ

692:はちみつ餃子
23/03/12 14:34:58.81 zw46Mo410.net
使われているソースコードはおそらくこれということらしい。
URLリンク(github.com)
>>678
ちゃんと考証するならそりゃそうだが
重要でないところに小ネタを仕込むのもよくあることでしょ。

693:デフォルトの名無しさん
23/03/12 14:38:15.75 36zMid+Td.net
>>682
有り得るね
スレリンク(poverty板)

694:デフォルトの名無しさん
23/03/13 11:21:17.63 bF2IN6wDa.net
>あんなコードのはずがない
47氏死んでからの映画化ならではだな

695:デフォルトの名無しさん
23/03/13 15:53:24.36 gUMqyWwJd.net
ジョブスの映画はもっと酷かったぞ
ウォズがこれがアップルIだ!っつってジョブズに見せると画面にアスキーコード順に文字が出てくるだけ
ジョブズがオオスゲーって顔するんだけどw
もっともそこですでにBASICやゲームの画面が出てくるのもおかしいんだけどな

696:デフォルトの名無しさん
23/03/13 20:33:15.11 ZWncv4YS0.net
CALL -151

697:デフォルトの名無しさん
23/03/13 21:56:22.40 sKLW0uN10.net
>>687
脇役で出てくるPCの時代考証がおかしかったりしたあれか

698:デフォルトの名無しさん
23/03/14 01:18:17.67 eWxvxvkk0.net
>>687
その映画見てないので分からないが、もしや Apple ][ ではなく Apple I のこと?
だったらワンボードマイコンなのでテレビ画面に文字が出るだけでも当時は凄い事だったと思うが。
Apple I が作られたのは1976年だしな。

699:デフォルトの名無しさん
23/03/14 03:06:45.91 TJZO9aGD0.net
もしやもクソも誰もApple2の話なんかしてないと思うがキミはいつもそんな調子なのかね

700:デフォルトの名無しさん
23/03/14 09:46:34.46 tHJOYlO8d.net
ごく初歩的な質問です 変換して指定子を何にすればよいか教えてください
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
int id;
char ss[80];
strcpy(ss,"123");
id = atoi(ss);
printf("%d\n", ss);
return 0;
}
を実行するとでデタラメな数字が出力されます。
変換して指定子をなににすればよいのでしょうか?

701:デフォルトの名無しさん
23/03/14 09:57:04.49 tHJOYlO8d.net
692です 解けました 寝ぼけていたみたいです

702:デフォルトの名無しさん
23/03/14 10:05:55.26 3kN/fw0O0.net
%dとか%sとかの呼び方って、変換指定子、書式指定子、フォーマット指定子のどれがいいんすか?

703:デフォルトの名無しさん
23/03/14 10:12:18.85 tHJOYlO8d.net
ある本によると、たんなる、「変換仕様」や「出力変換仕様」となってます

704:デフォルトの名無しさん
23/03/14 10:34:18.75 3kN/fw0O0.net
printfで出力変換仕様ならscanfでは入力変換仕様になりそうっすね

705:デフォルトの名無しさん
23/03/14 10:38:03.93 3kN/fw0O0.net
英語だとformat specifierなんすね
直訳ならformat→フォーマットか書式、specifier→指定子か仕様って感じすか

706:デフォルトの名無しさん
23/03/14 11:19:53.02 VNqhYyU8F.net
>>690
>ワンボードマイコンなのでテレビ画面に文字が出るだけでも当時は凄い事
ほんそれ
現役体験世代しか持ち得ない臨場感ってこう言うもんよ

707:デフォルトの名無しさん
23/03/14 11:22:04.60 VNqhYyU8F.net
>>692-693
いつのC使ってるのかしらんけど
警告出ないんだっけ

708:デフォルトの名無しさん
23/03/14 13:01:28.77 dwJIt/jSd.net
>>699 警告出てました vscodeだと警告なしでバカ数字だけ出力される設定です

709:デフォルトの名無しさん
23/03/14 13:07:48.27 ZglUMoKma.net
にぎりっ屁

710:デフォルトの名無しさん
23/03/14 18:59:23.39 4eLUupfkd.net
>>692
なんとこのコード!
直値で領域確保など、神をも恐れぬ傍若無人
悪魔をも恐れぬ愚策の極み
とても合格点は出せない

711:デフォルトの名無しさん
23/03/14 19:27:10.55 1SjvDtDOM.net
コンパイル時にエラーにならない可変個引数が悪い
ただ警告は出てるけどね
>>692はそれを無視してたんだろう
Cコンパイラーの警告は実質エラーだからな

712:デフォルトの名無しさん
23/03/14 22:18:52.69 xPBygAZk0.net
> 警告は実質エラー
自分の頭で考えることを放棄したクルクルパーwww

713:デフォルトの名無しさん
23/03/15 00:47:49.02 q5LCzWGQM.net
>>704
仕事でC使ってない素人は黙ってろよw

714:デフォルトの名無しさん
23/03/15 00:50:40.37 eS/lJ3n/0.net
ワイは車載プログラマーだがwarningだらけやな

715:デフォルトの名無しさん
23/03/15 00:51:38.54 q5LCzWGQM.net
>>704
こんな事言うやついるんだなw
そりゃ日本の競争力も低下するわけだ…

716:デフォルトの名無しさん
23/03/15 06:54:14.38 MuZQ71LVd.net
>>704
「警告ね、ハイハイオッケー!」
思考放棄だろこれw

717:デフォルトの名無しさん
23/03/15 07:36:21.87 T1RUme5O0.net
はははは、悔しそうだなw

718:デフォルトの名無しさん
23/03/15 08:41:20.34 MuZQ71LVd.net
うわぁ…

719:デフォルトの名無しさん
23/03/15 10:49:56.85 U534XRL10.net
JAXAのロケットが飛ばない理由はこれかも

720:デフォルトの名無しさん
23/03/15 12:28:05.63 0cl6W22rr.net
ロケットの失敗は中抜きで必要なところにお金がまわらなかったからです

721:デフォルトの名無しさん
23/03/15 13:20:32.86 CD47sW3td.net
>>712
へ?ロケットも元請けはデン2?

722:デフォルトの名無しさん
23/03/15 13:31:23.12 MuZQ71LVd.net
うろ覚えのネット知識同志で問答するのはやめるんだ
ゴチャゴチャになるぞw

723:デフォルトの名無しさん
23/03/15 13:38:30.28 PyY+66E5M.net
請け負ったのは三菱重工業だが、国産ジェットも失敗してるからな…
もうロケットはドラマの中でしか飛ばないw

724:はちみつ餃子
23/03/15 14:19:05.65 ouX7yS+u0.net
>>694
d や s の部分が変換指定子 (conversion specifier)。
%d や %s 、これに精度やフラグや長さ修飾子まで含めた実引数ひとつに対応する指定が変換指定 (conversion specification)。
更にこれらを含む文字列全体 (printf の第一引数や fprintf の第二引数など) が書式 (format)。
書式に含まれる普通の文字か変換指定のことを指令 (directive) という。
書式指定子 (format specifier) という用語は何を指すのか明確な説明がないのだけれど
形式としては変換指定から % を除いたものになってる。
以上の用語は JIS に基づくが K&R 第二版日本語版を見てみると
変換指定子ではなく変換文字と書かれていたり
変換指定ではなく変換仕様になっていたりする。
JIS は (ISO の規格の) 良い訳というわけではないけど
納得しようがしまいがとりあえず統一するのが規格ってものの役割なんで
より「正式」であることを指向するなら JIS に合わせるべきだと思う。
(他の用語が間違いというわけではない。)

725:デフォルトの名無しさん
23/03/15 14:45:10.43 T1RUme5O0.net
腹いせのつもりが
またしても恥かいたなw

726:デフォルトの名無しさん
23/03/15 15:41:59.18 IBd2LSQOd.net
>>716
翻訳入れた時点で訳者に依存する2次情報だからな
他国翻訳の後出し規格で特に用語に関しては参考に値しないよ

727:デフォルトの名無しさん
23/03/15 15:50:17.02 T1RUme5O0.net
いやJISは一次情報だよ
何かを参考にしたとは書いてあるけどね
公文書としての責任は負うわけで

728:デフォルトの名無しさん
23/03/15 19:38:30.28 BZs4LmWfM.net
JIS X3010は翻訳じゃなくて、プログラミング言語Cという規格だな
ま、ISOを基礎にしてるとは書いてあるがな
本質的な部分で違いがあるのかは分からない(多分無いだろうけど、有っても不思議ではない)

729:はちみつ餃子
23/03/15 20:45:39.37 ouX7yS+u0.net
JIS X3010:2003 内のサンプルコードのインデントが 7 なのはどういう意味があるんだろうな?
どうでもいいからこそあえて ISO と違える理由も思いつかない。

730:デフォルトの名無しさん
23/03/16 10:34:04.56 183yxeev0.net
>>692
printf("%d\n", ss);

printf("%d\n", id);

731:デフォルトの名無しさん
23/03/16 20:52:18.53 awXg4DCe0.net
VScodeで下記のようなMakefile作ってターミナル(PowerShell)で実行したのですが
ソースファイルを拾ってくれないです。
Makefileと同じディレクトリにsrcフォルダとその中にソースがあります。
SRC_DIRS = src
TEST := $(shell find $(SRC_DIRS) -name *.c)
test:
echo $(TEST)
エラーは「ファイルが見つかりません - *.c」と出ますがfindは使えないのですか?

732:デフォルトの名無しさん
23/03/17 04:22:40.28 1OmGmSd00.net
>>723
nmake派だから自信ないが、ファイル内文字列検索の方のfindコマンドが呼ばれてるように見える、当たり前だけど存在しないファイルに対して文字列検索はできないので
引数的に多分findでなくgciが望みのコマンドでは
gci -file -inc *.cとかそんな感じでどうよ

733:デフォルトの名無しさん
23/03/17 05:56:28.46 F2H2paQ20.net
>>723
PowerShellは知らないが、Unixだと括る。
find $(SRC_DIRS) -name *.c

find $(SRC_DIRS) -name '*.c'

734:デフォルトの名無しさん
23/03/17 07:48:39.66 FEpWoYhBd.net
findなんて使わなくても
SRC_DIRS = src
TEST := $(wildcard $(SRC_DIRS)/*.c)
でいいだろ
つーかC言語の質問じゃねえw

735:デフォルトの名無しさん
23/03/17 08:34:07.50 FEpWoYhBd.net
頭にsrc/がつくのが嫌なら
TEST := $(nodir $(wildcard $(SRC_DIRS)/*.c))

736:デフォルトの名無しさん
23/03/17 11:21:24.24 SxK7dSEV0.net
うろ覚えだけど会社の入社前研修で
「UNIX OSでカレントにある*.txtファイルすべてをxxx(忘れた)するシェルスクリプトを作成しろ」
って課題出され、DOSのワイルドカードはアプリ内で処理するものだったんで
ファイル一覧のテキストファイル作ってそこから1行づつ読み込んで
".txt\n"って文字列見つけたら新たにスクリプトファイル作って実行するっての作った。
まさかシェル自体にワイルドカード処理する機能あるとは思ってなかった。

737:はちみつ餃子
23/03/17 11:53:15.99 XLm6gsUd0.net
>>726
C の質問ではないが Make の質問をするのに適切に思えるようなスレってなくない?
俺も困ったことがある。 (そのときは Cygwin スレかどっかで質問したけど過疎すぎて返答が付かなかった……)
C の話題ってのは言語仕様の話題だけってわけではなく開発環境の事情も含むだろうし
make も C の開発環境の一部という解釈で良いと思う。

738:デフォルトの名無しさん
23/03/17 12:38:50.70 3wI9Dhzj0.net
なんじゃそりゃ
汎用の質問スレがあんだからそっちでいいよ

739:デフォルトの名無しさん
23/03/17 13:26:15.13 dYvRZpJb0.net
はたらいたらmake

740:デフォルトの名無しさん
23/03/17 13:29:23.63 Oo1zHgPh0.net
make
スレリンク(unix板)
最終レスが2018で、ボット臭いのを除くと2016だけど。

741:デフォルトの名無しさん
23/03/17 13:56:33.41 GNeva6hg0.net
makeスレは昔から過疎スレだったよ
個人的にはCに関係するmakeの話はここでもいい気もするが
>>723みたいな環境や処理系すら書かないアホは相手したくないね
やはり専用スレだな

742:デフォルトの名無しさん
23/03/17 14:16:14.65 gUpaepT/d.net
可変個引数なのか、はたまた可変長ひきすうなのか

743:デフォルトの名無しさん
23/03/17 14:28:38.47 Jukv8C3G0.net
6.7.5.3 関数宣言子(関数原型を含む)
並びの最後が省略記号(, ...)の場合,そのコンマ以降の実引数の
個数及び型に関する情報はない(123)。
(123) <stdarg.h>ヘッダ(7.15 参照)で定義されるマクロを使えば,
省略記号に対応する引数へのアクセスが可能となる。
7.15 可変個数の実引数<stdarg.h> 

744:デフォルトの名無しさん
23/03/17 15:06:41.64 k0Wz885y0.net
>>728
DOSをちゃんと使ったことないのだが、そバッチファイルとかいうやつの中では
ワイルドカードを使えるのとちがうの?

745:デフォルトの名無しさん
23/03/17 15:07:17.42 k0Wz885y0.net
そ ってなんだよw

746:デフォルトの名無しさん
23/03/17 15:09:54.39 1OmGmSd00.net
pwshは記法がmakeと被りまくっててエスケープ地獄で辛いな
特に@args | ...とか-split "a b c d "| ...のようなイディオムが
ビルトインコマンドの解決も時々失敗する怪しい挙動なので(g)makeをstraceしてみた
シェルを明示的に指定しても、makeがレシピをスキャンして展開の必要しと判定すると直接exec/CreateProcessを呼んでる様子
要するに実装の機嫌次第ですね

747:デフォルトの名無しさん
23/03/17 16:26:27.08 Jukv8C3G0.net
>>737
「の」が抜けた脱字だろ

748:デフォルトの名無しさん
23/03/17 16:40:16.98 6pq6iSnCd.net
>>736
じゃあDOSをちゃんと使え
以上
というか>>728が言ってるんはDOSではコマンドラインはそのままコマンドに渡されてコマンド側がワイルドカード展開しなければならないって事だと思うけど
for文を使えばバッチファイル中でワイルドカード展開できるけどな

749:デフォルトの名無しさん
23/03/17 19:53:17.28 k0Wz885y0.net
>>740
> じゃあDOSをちゃんと使え
お断りしますw
>というか>>728が言ってるんはDOSではコマンドラインはそのままコマンドに渡されてコマンド側がワイルドカード展開しなければならないって事だと思うけど
そんな風になってるんだ。逆に目からウロコw
考えてみれば、コマンド引数は常にファイル(パス)とは限らないのだから
コマンドインタープリタ側でデフォでファイル名展開を使わない、という態度もアリなのかな

750:デフォルトの名無しさん
23/03/17 21:22:13.62 ap5J/Una0.net
「ファイルが見つかりません - *.c」
今の話題はこれのことだろう

751:デフォルトの名無しさん
23/03/17 22:10:24.98 Pco9qL75d.net
ワイルドカードで受け取ってアプリ内でいい感じに展開するのは結構負担大きいんだよな
MSDOSのシェル側の負担を減らしたいというのは発想としてはアリなんだけど、
ハードの性能が上がった現代では時代遅れになってしまった

752:デフォルトの名無しさん
23/03/18 00:02:14.45 W6y4Yh40d.net
>>742
言えることは
普通にビルドで必要な機能は揃ってるからmakeの組み込み関数を使え
shellは最後の手段と思え
どこで展開が起こってるかエスケープ文字が食われているかを探してる時間のムダだ

753:デフォルトの名無しさん
23/03/18 05:53:53.69 zRF+ruu+d.net
/* データ型が混在した可変個引数をもつ関数の例 */
#include <stdio.h>
#include <stdarg.h>
void unidisp(char *fmt, ...);
int main(void)
{
unidisp("iii",100, 200, 300); // 3つのデータ表示
unidisp("idsids", 11, 22.22, "aaaa", 33, 44.44, "bbbbb") // 6つのデータ表示
return 0;
}
/* fmt内容 → i:int値表示 d:double値表示 s:文字列表示 */
void unidisp(char *fmt, ...)
{
va_list ap; // 構造体オブジェクトを確保
va_start(ap,fmt); // 最終引数を指定してapを設定
while (*fmt) {
if (*fmt == 'i') printf("%d\n", va_arg(ap, int)); // int値表示
if (*fmt == 'd') printf("%f\n", va_arg(ap, double)); // double値表示
if (*fmt == 's') printf("%s\n", va_arg(ap, char *)); // 文字列表示
++fmt;
}
va_end(ap); // 後処理
}
上記コードのメカニズムがよくわかりません

754:デフォルトの名無しさん
23/03/18 06:00:42.41 l7CGioJ10.net
>>745
va_argマクロの実装を読むとわかるぞ
ちとしんどいが頑張るんだ

755:デフォルトの名無しさん
23/03/18 06:46:59.63 zRF+ruu+d.net
745です >>746 ありがとうございます あとで確認してみます

756:デフォルトの名無しさん
23/03/18 07:24:12.42 pLAb7CSJ0.net
普通は関数の引数が型を指定してユーザはそれに従うところを
とりあえずすべてアドレスで渡して、ユーザが自分で「そのアドレスは何を指しているか」を明示すると言うことだよ
va_list ap;
これの実体はただのアドレス
void *p; みたいなものだね
va_argの第二引数で型を指定しているが(int,double,char*)、その型のサイズに合わせてapを進めている
以下確認のコード
printf("[0x%08X] " , *(int*)ap); でapの中身が va_argで指定した型のサイズ分だけ移動しているのが分かると思う

757:デフォルトの名無しさん
23/03/18 07:24:33.20 pLAb7CSJ0.net
void __fastcall PrintBuffer(va_list *ap)
{
int i;
char *buf = (char*)ap;
int len=sizeof(va_list);
for(i=0;i<len;i++) printf("%02X ", buf[i] & 0xFF);
printf("[0x%08X] " , *(int*)ap);
}
/* fmt内容 → i:int値表示 d:double値表示 s:文字列表示 */
void unidisp(char *fmt, ...)
{
va_list ap; // 構造体オブジェクトを確保
va_start(ap,fmt); // 最終引数を指定してapを設定
while (*fmt) {
PrintBuffer(&ap);
if (*fmt == 'i') printf("%d sizeof(int) = %d\n", va_arg(ap, int) , sizeof(int)); // int値表示
if (*fmt == 'd') printf("%f sizeof(double) = %d\n", va_arg(ap, double) , sizeof(double)); // double値表示
if (*fmt == 's') printf("%s sizeof(char *) = %d\n", va_arg(ap, char *) , sizeof(char *)); // 文字列表示
++fmt;
}
va_end(ap); // 後処理
}
int main(void)
{
unidisp("iii",100, 200, 300); printf("\r\n"); // 3つのデータ表示
unidisp("idsids", 11, 22.22, "aaaa", 33, 44.44, "bbbbb"); // 6つのデータ表示
return 0;
}

758:デフォルトの名無しさん
23/03/18 07:25:30.63 pLAb7CSJ0.net
あ、__fastcall は見なかったことにして
いつもの癖で……

759:デフォルトの名無しさん
23/03/18 13:17:28.44 fSPMk7mFa.net
ap++ とか ++ap してないのに
どうやって進むのか興味あるわ

760:デフォルトの名無しさん
23/03/18 13:55:06.64 RZJZ36we0.net
va_argの出番って書式出力持たないMsgBoxとかにprintf書式を渡したい時ぐらいだからfmt側の解析なんてやった覚えないな
言語処理系なんかを作る時にCのコンテキスト上で可変引数を渡したい場合にfmt部分を個数にするような特殊なケースは考えられるが

761:デフォルトの名無しさん
23/03/18 15:27:28.06 utkGGsyod.net
>>751
apは構造体の実体だぞ
多分ポインタはその中にあってマクロva_argでインクリメントされてる

762:デフォルトの名無しさん
23/03/18 15:46:47.90 fSPMk7mFa.net
>>753
>>748 観ての感想を描いただけ
>printf("[0x%08X] " , *(int*)ap); でapの中身が va_argで指定した型のサイズ分だけ移動しているのが分かると思う

763:デフォルトの名無しさん
23/03/18 16:47:24.17 F6WTPPiM0.net
スタックに積まれたfmtのアドレスをベースになぞっていってるだけじゃないの?

764:デフォルトの名無しさん
23/03/18 18:29:38.46 a5YJoFt5d.net
>>754
じゃあどうやって進むのかもうわかってるんじゃん
構造体やマクロ使ってるのはその中身は考えなくてもよくするため
別の言い方すればライブラリのほうが実装を変えてもソースは変更なしでコンパイルするだけで済ますため
もう実装変えることもないだろうけど…

765:デフォルトの名無しさん
23/03/18 19:31:55.62 YIU3ErvV0.net
>>741
cmd.exe の場合は MS-DOS の頃の command.com との互換性を持たせたかったためか、何故か引数のファイル名展開はやらない。
command.com がやらなかった理由は CP/M の CPP (コンソールコマンドプロセッサ) を拡張した仕様で作ったからだと思う。
それと当時はメモリ少なかったしディスクも遅いしあまり複雑な事をさせたくなかったんだろうと思う。

766:デフォルトの名無しさん
23/03/18 22:34:01.09 mRvYwteE0.net
C言語の話題に戻していくと、
VCの場合は、setargv.objをリンクしないと、
コマンドラインで指定されたワイルドカードを
ファイルに展開できなかったと思う

767:デフォルトの名無しさん
23/03/18 23:08:40.43 VxZ5Gdt+0.net
ワイルドカード展開の話をするにはC言語だけじゃ済まないでしょ
Windowsの場合、シェル(cmd.exe)は
1. ワイルドカードを展開をせずにCreateProcessでプログラムにコマンドラインを1本の文字列として渡す
2. setargvがリンクされてるならワイルドカードをファイル名展開する
3. コンパイラが暗黙のうちに生成したコード部が1本の文字列をargvに渡せるようにchar**に分割する
プログラムに渡された文字列自体はタスクマネージャーからコマンドラインの項目から確認できる

768:デフォルトの名無しさん
23/03/19 10:06:46.77 fPDrKYk/a.net
>>757
PHP (言語じゃない方の) 0x80 から始まるやつか

769:はちみつ餃子
23/03/19 10:39:51.37 6gmOWdI+0.net
>>760
ワイが持っとる資料やと PSP (Program Segment Prefix) と書いてあるんやが PHP という用語もあるんか?
実際のところ用語の混乱はかなりあるのでどれが公式なんかようわからん……。

770:デフォルトの名無しさん
23/03/19 14:19:25.25 j+ABECd6d.net
>>481
URLリンク(youtu.be)

771:デフォルトの名無しさん
23/03/20 14:09:31.85 uf3XtkTY0.net
やがて「ハノイの塔解いて」と一声AIに言えばAI自身が自分でハノイの塔をやって解いてしまうようになり一々プログラミング言語で出力する必要がなくなる。そして何でもやっといてとAIに頼むとAIがやってしまうようになり、ロボットのコントロールもできるので人間の代わりは何でもできるようになり全ての人間は不要になる。1万年後、AIによって飼育されていた最後の人間が死亡して人類は絶滅。その時銀河系全体を支配しているのはAI。


772:デフォルトの名無しさん
23/03/20 14:37:20.82 ZfW6Hudb0.net
ハノイの塔解くと、その瞬間に世界は消滅する
1万年も待つ必要は無い

773:デフォルトの名無しさん
23/03/20 14:42:36.37 2uty+vYkM.net
量子コンピュータが実用化されるまでは脅威にはならないだろ

774:デフォルトの名無しさん
23/03/20 18:27:48.49 GQGgQXaMa.net
PHP
PSP
PNP
PIP
P2P
PAP^-1

775:デフォルトの名無しさん
23/03/20 21:42:59.73 E+Gjka8id.net
>>764
時空が不安定になると塔が4本に増えたりするからその時どんどん進むんだよ

776:デフォルトの名無しさん
23/03/20 21:58:40.01 ZfW6Hudb0.net
>インドのガンジス河の畔のヴァラナシ(ベナレス)に、世界の中心を表すという巨大な寺院がある。
>そこには青銅の板の上に、長さ1キュビット、太さが蜂の体ほどの3本のダイヤモンドの針が立て
>られている。そのうちの1本には、天地創造のときに神が64枚の純金の円盤を大きい円盤から順
>に重ねて置いた。これが「ブラフマーの塔」である。司祭たちはそこで、昼夜を通して円盤を別の
>柱に移し替えている(移し変えのルールが後述)。そして、全ての円盤の移し替えが終わったとき
>に、世界は崩壊し終焉を迎える。
たった64枚のハノイの塔で世界の寿命が決まる。長いのか、短いのか、微妙。

777:デフォルトの名無しさん
23/03/20 22:09:26.36 jcm8mWW1M.net
アルゴリズム自体は既に確立しているので解決できることは証明されてる
問題は非現実的な�


778:r方もない回数を繰返す時間が障害となること 少なくとも現在のコンピュータでは現実的な時間で解くことは出来ない 件の64枚の円盤でも反復回数は2の64乗回で約1844京を超える



779:デフォルトの名無しさん
23/03/21 12:00:15.67 IwTPG7510.net
関係ないけど
>件の64枚の円盤でも反復回数は2の64乗回で約1844京を超える
桁数多い計算はアラビア数字じゃなく、漢字で表示する電卓があってもいいんじゃないかって思えた。

780:デフォルトの名無しさん
23/03/21 12:25:10.48 UyD8IPHr0.net
8888無量大数8888不可思8888議那由他8888阿僧祇8888恒河沙8888極8888載8888正8888澗8888溝8888穣8888??8888垓8888京8888兆8888億8888万8888

こういう7セグ液晶があればってこと?

781:デフォルトの名無しさん
23/03/21 12:37:14.08 AYNSF4vg0.net
位取りのゼロを省けるってことが言いたいんだろう
1,000,000,000,004と一兆四みたいな

782:デフォルトの名無しさん
23/03/21 13:02:27.49 1LNxuhQm0.net
KとかMとかでもいいんじゃね

783:デフォルトの名無しさん
23/03/21 15:14:15.74 icU0z8mba.net
議那由他

784:デフォルトの名無しさん
23/03/21 18:19:21.45 5/U/DT+Ta.net
そもそも3桁毎にカンマを入れるから分かりづらくなる。4桁にしなさい。

785:デフォルトの名無しさん
23/03/21 19:53:44.07 rSG8VZ2l0.net
電卓で一兆四みたいな表示だとキー入力と表示が一致しないのが問題
1 0000 0000 0004と併記ならよいかな

786:デフォルトの名無しさん
23/03/21 20:37:03.57 AlGpjgGZ0.net
電卓でそんな計算するな
パソコンでやれ

787:デフォルトの名無しさん
23/03/21 20:47:39.08 UyD8IPHr0.net
excelにはsi接頭辞サポートすらないという呆れ果てた状況

788:デフォルトの名無しさん
23/03/21 20:55:06.42 P4ncG2CK0.net
C言語でプログラム組んでみてください
結果が1844京... になることを示してください

789:デフォルトの名無しさん
23/03/21 21:08:27.55 SAsicGRC0.net
1TBとか兆が出てくるから
電卓でやりたいという気持ちはわかる

790:デフォルトの名無しさん
23/03/21 21:11:11.69 dGZfvl2z0.net
>771
URLリンク(i.imgur.com)
こんなかんじでゆるしたるわ。

791:蟻人間
23/03/21 23:01:15.49 J5OkhG96d.net
URLリンク(katahiromz.fc2.page)
ひらがな電卓

792:デフォルトの名無しさん
23/03/21 23:52:32.18 VH9D4S5b0.net
チャットGPTに書かせてみた
URLリンク(ideone.com)

793:デフォルトの名無しさん
23/03/23 12:13:56.39 AQHpwrnPa.net
PじゃなくてEだけで良くね?への回答
URLリンク(www.youtube.com)
URLリンク(pc.watch.impress.co.jp)

794:デフォルトの名無しさん
23/03/23 17:44:43.43 jkM8aKTm0.net
チャットGPTに聞けばこのスレイランな

795:デフォルトの名無しさん
23/03/23 17:59:55.15 iGp/2pYiM.net
C言語でハノイの塔を解く方法をAIに尋ねると単純な再帰を利用したコードが回答で示された
64枚だと2^64回関数呼出しされるのでスタックが溢れてエラーになると思うけど…

796:デフォルトの名無しさん
23/03/23 18:52:56.54 idQN1Zf4a.net
>>786
再帰を使うなと指示すると?

797:デフォルトの名無しさん
23/03/23 20:11:19.63 SbTLzylyd.net
>>785
使い方わからないのバレバレだぞ

798:デフォルトの名無しさん
23/03/23 20:15:11.71 zF57gPzV0.net
>>723を聞いたらこうなった
Makefileの変数展開は、シェルの変数展開とは異なり、特殊文字の処理を行います。したがって、$(shell find $(SRC_DIRS) -name .c)の.cは、Makefileの展開により、現在のディレクトリにある*.cとして解釈されてしまいます。
そのため、正しいファイルを検索するためには、*.cをクォートする必要があります。具体的には、以下のようにしてください。
TEST := $(shell find $(SRC_DIRS) -name '*.c')
また、echo $(TEST)は、Makefileのルールではありません。Makefileルールにするには、次のようにしてください。
test:
echo $(TEST)
これで、make testコマンドを実行すると、$(SRC_DIRS)ディレクトリ以下のすべての.cファイルが出力されるはずです。

799:デフォルトの名無しさん
23/03/23 23:34:17.83 bSG3NjS70.net
>>789
「*.c」を勝手に「.c」と解釈してはいけない。
testターゲットのくだりは何を言いたいのかわからない。

800:デフォルトの名無しさん
23/03/24 01:40:52.79 fdUS3d7o0.net
どうせコピペミスでタブが消えたりしてるんだろう。

801:デフォルトの名無しさん
23/03/24 01:47:36.96 +5hIDmAP0.net
ChatGPTに聞いたことそのままを得意げにレスする無能はこの世から退場してほしいよマジで

802:デフォルトの名無しさん (アウアウウー Sa95-preR)
23/03/24 02:25:05.15 OLNVz4ZMa.net
という事らしいけどこのコマンドだとワイルドカードの展開後にスペースが入るとダメになるのか?
URLリンク(i.imgur.com)

803:デフォルトの名無しさん (ワッチョイ d12d-a1qf)
23/03/24 07:44:01.08 3nCdLXbn0.net
>>764
奥村先生のアルゴリズム事典読んでないのか

(前略)
完成したときには塔は崩れ、世界の終わりが来る。
以上はEdouard Lucasによる作り話である。
Recreations mathematiques, four volumes,

804:デフォルトの名無しさん
23/03/24 08:07:45.16 H5Ma0rS5M.net
単純計算で5000億年以上未来の話
ちなみに宇宙の歴史は現在約137億年

805:デフォルトの名無しさん
23/03/24 08:12:52.05 5/LG9PJA0.net
Windowsでのfindといえば「指定ディレクトリ以下のファイルを列挙する」じゃなくて「標準入力から検索パターンにマッチした行を出力する(grepみたいな感じ)」だぞ
shellはpowershell.exeだし(shではない)、
gnuコマンドはわざわざ入れないと使えない。
同名のDOSコマンドがあるから紛らわしい。
gnu-makeを1つ持ってきただけでlinuxと同じように使えると思うなよ

806:デフォルトの名無しさん
23/03/24 08:58:21.29 BXtHk51Qd.net
だからmakeの組み込み関数使えって
unix系とDOS系で外部コマンドの仕様も挙動も違うので呼び出しに失敗する可能性が高いから
もっともmakeの関数も微妙に違うけどなw

807:デフォルトの名無しさん
23/03/24 12:34:44.06 Z+lkBBvAd.net
>>794
なんだ嘘だったのかー
俺の時間を返せよー

808:デフォルトの名無しさん
23/03/24 16:39:40.70 jOUoDADO0.net
君の人生は三枚分くらいだ

809:デフォルトの名無しさん (スッップ Sd62-gKT6)
23/03/25 13:09:54.16 LtI+pZf0d.net
DOS用にリメイクしたのがNMAKE

810:デフォルトの名無しさん (アウアウウー Saa5-tUaT)
23/03/28 17:18:26.98 hvNFNzxEa.net
NMAKEとnmakeは別物
CMAKEとcmakeも別物

811:デフォルトの名無しさん
23/03/28 21:32:09.46 b9xJHTM00.net
NMAKEとnmakeって区別つくのか?

812:デフォルトの名無しさん
23/03/29 01:50:54.12 SUmt67gz0.net
言われてみればひつまぶしとひまつぶしとか区別難しいよね。

813:デフォルトの名無しさん
23/03/29 06:33:27.98 /YP4UcCE0.net
なおざりとおざなりとか

814:デフォルトの名無しさん
23/03/29 07:35:43.16 aVGT5NH20.net
K&RとK&K缶つまは区別が難しい。

815:デフォルトの名無しさん
23/03/29 08:00:28.55 KlLOEDO70.net
ビットAND

816:デフォルトの名無しさん
23/03/29 10:38:44.75 i2Cmbqbld.net
>>802
UNIXのファイル名は大文字小文字を区別する

817:デフォルトの名無しさん
23/03/29 10:52:21.31 G1cQpJHKd.net
UNIX版のNMAKEってあるの?

818:デフォルトの名無しさん
23/03/29 19:37:12.44 UTBm5KT2d.net
コンパイルすること
ウニツクスにできないことは「出来ましえーん」と言う言葉

819:デフォルトの名無しさん
23/03/29 19:37:56.22 A5Sld2vWd.net
ユニクズ

820:デフォルトの名無しさん
23/03/29 21:42:59.38 lgv9dsNdd.net
UNIXがクズというならC言語使うなよw

821:デフォルトの名無しさん
23/03/29 21:45:20.51 KlLOEDO70.net
Multics -> Unics -> UNIX

822:デフォルトの名無しさん
23/03/29 21:53:54.36 IqGKKWkZ0.net
昔リモートでろ具インする際に、迂闊にもユーザー名を大文字で入力してしまったことがあったが
そのまま通してくれたが、その端末の入力文字が全て大文字で扱われてしまったw

823:デフォルトの名無しさん (ワッチョイ 5902-hP/J)
23/03/31 05:41:00.80 oqvq/yKq0.net
そんな仕様ってあったっけ?

824:デフォルトの名無しさん (ワッチョイ e510-uluY)
23/03/31 07:47:26.16 qPx00nGL0.net
もしかしたらULTRIXの独自仕様かな?

825:デフォルトの名無しさん (ワッチョイ 4910-3uzD)
23/03/31 07:53:00.14 FWT7xs5+0.net
昔FreeBSDかなんかで入力ミスでファイル名が空白入りだか通常ファイル名に使用できないはずの文字が使われて消すのに難儀した記憶があるなぁ。
"で囲って解決できたけど、UNIX歴1年(+大学のFortran 講義4年)の若造にはすぐに思いつかんかった。

826:デフォルトの名無しさん (ワッチョイ 4d63-QuRV)
23/03/31 09:44:55.95 RwPszGx50.net
remove()を使うって発想もなかったん?

827:デフォルトの名無しさん (ワッチョイ 2e63-3uzD)
23/03/31 10:06:11.78 ZGSDW47D0.net
以前の職場、頭に”-”付いたファイルがよく放置されてたな

828:デフォルトの名無しさん (アウアウウー Saa5-3uzD)
23/03/31 12:22:34.54 EpaLX3NUa.net
getopt()の仕様がわかってないと削除できないやつね

829:デフォルトの名無しさん (スップ Sdc2-BuZC)
23/03/31 16:04:12.84 VmvJgfTvd.net
-rfという名前のファイル置いときますね

830:デフォルトの名無しさん (スッププ Sdd6-wCIk)
23/03/31 16:20:13.87 N/uv7Ri4d.net
*で全部消える

831:デフォルトの名無しさん (ワッチョイ ff9a-Pd8U)
23/04/01 04:36:47.77 TiOY9/eM0.net
>>813
ttyに「大文字だけの端末」みたいのをサポートするモードがあったはず
今でもsttyにolcucとかオプションがある

832:デフォルトの名無しさん
23/04/01 08:01:57.89 JdkGmPlI0.net
>>786
手順が2⁶⁴-1回なだけで2⁶⁴段スタックがたまるわけじゃないぞ?

833:デフォルトの名無しさん
23/04/01 08:28:02.36 RFr3BRPJ0.net
その手順ごとに自身が呼ばれるから64回の再帰ってことじゃないの?

834:デフォルトの名無しさん (ワッチョイ ffda-no2l)
23/04/02 05:17:00.30 raeheLh20.net
>>823
実際にスタックに積まれる段数の最大値は最後の1枚分を除いた直前のすべての移動枚数分
要するに一番下の円盤の移動の直前にそれまでの移動分がすべてスタックに積まれる

835:デフォルトの名無しさん (ワッチョイ 7ffb-Z8D1)
23/04/02 05:25:52.58 t6gv1L3z0.net
この手のスタックに積まれるのが最大になるタイミングって実装依存になるような気がするが

俺の場合だと1番上に置いてある最初の1枚を動かすタイミングでスタックに64段積まれる

836:デフォルトの名無しさん (スッププ Sd8f-Yz/h)
23/04/02 09:45:46.28 NRuCP2qfd.net
>>786
2^64回ではなくて64!回じゃないのか?

837:デフォルトの名無しさん (ラクッペペ MM4f-+zBY)
23/04/02 10:09:18.45 tfS01X/KM.net
>>827
正確には、最短で(2^64-1)回

1枚 1回
2枚 3回
3枚 7回
4枚 15回
・・・
n枚 (2^n-1)回

考え方としては、1回前までの円盤を一時的に順に積み上げて最後の1枚を目標に移動し
その後その円盤の上に全く同じ手順で直前までの手順を復元する

要するに、n枚の時の回数をA(n)回とすると、(n+1)枚の時の回数はA(n+1)=A(n)*2+1
この漸化式の一般解を求めると上の回数になる

その結果、繰返し回数の見積りは
O(n)=2^n
となる

838:デフォルトの名無しさん (スッププ Sd8f-Yz/h)
23/04/02 10:39:38.37 NRuCP2qfd.net
いや一枚動かすごとに再帰呼び出す必要ない
n枚動かすならパラメータをn-1枚にして自分自身を再帰呼び出し
そうしてn=1になればもう呼び出す必要はない
結果的にスタックはn段で足りる
再帰呼び出しの利点はまさにそれだから

839:デフォルトの名無しさん (ワッチョイ ff63-kVuH)
23/04/02 10:39:44.95 vuecyBii0.net
俺の頭は3枚のスタックで溢れる

840:デフォルトの名無しさん (スッップ Sd9f-V10A)
23/04/03 07:29:00.64 LcmFFSdCd.net
難しいニダ

841:デフォルトの名無しさん (ササクッテロロ Sp33-W4em)
23/04/03 10:36:24.87 rxZSmkg/p.net
リカーシブル禁止な

842:デフォルトの名無しさん (ワッチョイ dfc9-Cn9/)
23/04/03 10:54:13.61 amgtJnTb0.net
URLリンク(ideone.com)
ChatGPT が示したコード
最初は n 段積まれるけど 途中で積足しがおきてるね
前の再起と後ろの再起

843:デフォルトの名無しさん (ワッチョイ dfc9-Cn9/)
23/04/03 11:17:01.50 amgtJnTb0.net
すまね n == 1 でデクリメントしてないがな

844:デフォルトの名無しさん (ワッチョイ dfc9-Cn9/)
23/04/03 11:20:49.83 amgtJnTb0.net
URLリンク(ideone.com)
なおしたし
nやし

845:デフォルトの名無しさん
23/04/03 19:50:55.17 FTaZkaBO0.net
(いつまでこの話題続けるんだろう・・・)

846:デフォルトの名無しさん
23/04/03 20:00:28.42 GTpIFgvQ0.net
ただいま32個目のスタックに到達

847:デフォルトの名無しさん (ワッチョイ a9b3-udcE)
23/04/08 20:36:00.74 SFpZqjEH0.net
なんか、
for(size_t i=0...
と書く人いません?
for(int i=0ではなくsize_tを使う意味はなんでしょうか?

848:デフォルトの名無しさん (ワッチョイ a169-/aea)
23/04/08 20:53:31.67 wgIhukY00.net
strlen()やsizeofはsize_tなんだわこれが

849:蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd22-6PIS)
23/04/08 20:55:09.41 3OtdrBzyd.net
size_tはintよりサイズが大きいかも知れないし、符号なし整数なんだよね。

850:デフォルトの名無しさん (ワッチョイ bd02-oFYy)
23/04/08 21:16:04.49 rjC7aYJI0.net
そのiを主にsize_tとして使う用があるから
もし質問がsize_tとして使う用がないのにiをsize_tにするのか?ということなら、そう書いて

851:デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh)
23/04/08 21:21:03.16 tM+hyW0O0.net
>>838
Cにおいて自然数で表されるべきものには全てsize_tを使うべきだと信じてる人達が一定数いる
大きさ、長さ、個数、順番、回数なんかが該当し、そこにはループカウンタも含まれる
意味の問題ではなく教義や主義の問題なんで、自分の考えと違うコードを見かけてもそういうもんだで済ますのがいい

852:デフォルトの名無しさん (ワッチョイ 495f-MO2j)
23/04/08 21:22:33.45 9tIz9OW00.net
ほとんどの場合はどっちでもいいかと

853:デフォルトの名無しさん (アウアウウー Sa05-Ay2p)
23/04/08 21:37:43.61 vkc2i7uPa.net
size_t と off_t �


854:ョらいは使えよ



855:デフォルトの名無しさん (ワッチョイ 0279-90pI)
23/04/08 21:42:59.63 ymsLMaB30.net
終端ヌル文字列の長さが符号ビット分まであったらそれは異常ではなかろうか
オンメモリで処理できるデータじゃないから見直すべき

856:デフォルトの名無しさん (テテンテンテン MM66-xOzU)
23/04/08 22:47:03.50 iv8dl0Z8M.net
>>845
んなこたーない
巨大なファイルを扱う時にはそういうこともあり得る

857:デフォルトの名無しさん (ワッチョイ 424b-jq58)
23/04/09 01:33:51.48 hSdkmotY0.net
2.2GBのテキストファイル

858:デフォルトの名無しさん (スッププ Sd22-QGEt)
23/04/09 09:21:07.72 J2NWn1GHd.net
>>846
そんなもんstrlenで処理するなw
いちいち数えてるのアホらしい
長さを別に持つべき

859:デフォルトの名無しさん (テテンテンテン MM66-xOzU)
23/04/09 10:02:17.83 mGUCWnYwM.net
>>848
100Bだろうが4GBだろうが、テキストファイルをロードする時にはゼロ終端文字列にするだろ
それをstrlenするかどうかは俺の知ったことではない
4GBのゼロ終端文字列が異常ではないというだけだ

860:デフォルトの名無しさん (アウアウウー Sa05-l3hZ)
23/04/09 10:03:11.35 Lsx68Nkda.net
ファイルから読むこんで文字列処理する場合とかINT_MAXサイズ以上になる可能性もあるけどINT_MAXの範囲までしか処理しちゃいけないの?

861:デフォルトの名無しさん (ワッチョイ 495f-MO2j)
23/04/09 10:23:33.31 S22RS/pW0.net
シークしなよ

862:デフォルトの名無しさん (アウアウウー Sa05-l3hZ)
23/04/09 10:29:43.09 Mq6Pc04Ma.net
一方向のみに進むだけならシークでいいけど、対応する値を探したりするには場所情報もいるから

863:デフォルトの名無しさん (スッププ Sd22-QGEt)
23/04/09 10:55:25.78 SXWU02gid.net
>>849
なんで?
サイズわかってるのに終端つける意味がないわ

>>852
場所を自分で保持してればいいだけだろ

864:デフォルトの名無しさん (アウアウウー Sa05-l3hZ)
23/04/09 11:20:12.19 JaCyVsO8a.net
その場所情報を残すためにintじゃ足りないから大きな型を使ったりするけど
シークじゃ戻って対象の文字列の間の処理を再起やってまた進んでってのが面倒くさい

865:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p)
23/04/09 11:36:10.69 aX3VhQL60.net
面倒くさがる人はプログラムに向いていません

866:デフォルトの名無しさん (アウアウウー Sa05-l3hZ)
23/04/09 11:49:17.45 K99TBVjYa.net
やりやすい方法があるのに複雑にして分かりにくくするのがプログラマーならプログラマーじゃなくていいや

867:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p)
23/04/09 12:08:18.91 aX3VhQL60.net
あるならそれを使えば良いだろ
相談するまでもない

868:デフォルトの名無しさん (テテンテンテン MM66-xOzU)
23/04/09 12:24:20.87 mGUCWnYwM.net
>>853
LoadTextFile()っていう関数を作ったら戻り値は何だ?
const char*だろ
ゼロ終端文字列が返ると思うだろ
もちろん追加でサイズも引数経由で返しても良い
悔しいからって屁理屈をこねるな

869:デフォルトの名無しさん (ワッチョイ 2d63-r2C4)
23/04/09 12:31:45.31 kBYq2/2r0.net
>>853
mainは第1引数がサイズで、第2引数の指す先はNULL終端されてるね

870:デフォルトの名無しさん (スッププ Sd22-QGEt)
23/04/09 13:05:09.35 bTpPccPGd.net
>>858
例えば
終端に移動するとき
サイズと比較して超えていたらエラーか終端に切り詰める
データを追加する場合
終端まで移動
こういった普通の作業するのにいちいちstrlenを呼び出すとかありえないからサイズはどこかに保持する必要がある
よって終端記号はムダだよ

871:デフォルトの名無しさん (スッップ Sd22-VdbI)
23/04/09 13:39:50.90 8g05NYDAd.net
>>858
すげー、なんでそんなの決められるの?
サイズ最適なロードしたデバイス名とか途中で割り込まれた回数とかカウントしないんだ、、、

872:デフォルトの名無しさん (テテンテンテン MM66-xOzU)
23/04/09 14:32:05.77 FxGMQKOnM.net
>>860
strlenを使うかどうかは関知しないと言ってるだろ
それでもゼロ終端文字列を返すんだよ
それがC言語のプロトコルだ
1byteケチって何がしたいんだよw
だから屁理屈をこねるなと言ってる

873:デフォルトの名無しさん (エムゾネ FF22-QGEt)
23/04/09 14:42:47.16 LpKuKnylF.net
>>862
そんなプロトコルはないよ
例えばread() は読み込んだバイト数を返す
妄想プログラムは程々にな

874:デフォルトの名無しさん (エムゾネ FF22-QGEt)
23/04/09 14:44:30.71 LpKuKnylF.net
>>859
mainの第一引数はargvの個数であってサイズじゃないよ

875:デフォルトの名無しさん
23/04/09 15:09:35.01 zFNH8tsS0.net
>こういった普通の作業するのにいちいちstrlenを呼び出すとかありえないからサイズはどこかに保持する必要がある
“こういった普通の作業”をしない場合はstrlenで良いってことだろ?

なんでもかんでもstrlenを使うって話じゃないし
なんでもかんでもサイズはどこかに保持する必要があるわけじゃなくて
用途に合わせて使い分けるのがプログラマーじゃないの?

876:デフォルトの名無しさん (ワッチョイ 495f-MO2j)
23/04/09 15:13:43.40 S22RS/pW0.net
小生はゴミを分別できるプログラマーになりたい

877:デフォルトの名無しさん
23/04/09 15:20:34.92 zFNH8tsS0.net
いちいちstrlenを呼び出す、と言っているけど
ゼロ終端文字列を返す関数はあるしゼロ終端文字列からサイズを得るためstrlenは呼び出すよね?
その後は処理を高速にするためにそのサイズを維持しつつというのはあると思うよ
けどその後呼び出す文字列処理関数があるとして、その関数が削除した文字数や追加した文字数を返してくれるとは限らないわけで
その場合、その都度strlenを呼び出さなきゃいけない場合もあり得るよね?

それぞれが想定する状況がかみ合っていないだけとも思うんだけどね
結局自分が想定する状況なら自分の意見が良い言っているだけで、じゃあ相手の言う状況でも自分の言っているのが正しいかということ自体を否定しているわけではないでしょ?

878:デフォルトの名無しさん
23/04/09 15:21:53.57 zFNH8tsS0.net
最後変だわ

×結局自分が想定する状況なら自分の意見が良い言っているだけで、じゃあ相手の言う状況でも自分の言っているのが正しいかということ自体を否定しているわけではないでしょ?

〇結局自分が想定する状況なら自分の意見が良い言っているだけで、じゃあ相手の言う状況でも自分の言っているのが正しいと言いたいわけではないでしょ?

879:デフォルトの名無しさん (ワッチョイ 495f-MO2j)
23/04/09 16:50:03.25 S22RS/pW0.net
小生だって燃えないゴミを燃えるゴミと言いたいわけじゃないさ

880:デフォルトの名無しさん (ワッチョイ 0279-90pI)
23/04/09 18:08:42.61 I9Qf3W7D0.net
環境商法は嘘でも乗っからないと文句言われるからつれーよな

881:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p)
23/04/09 18:17:37.00 aX3VhQL60.net
同じプラスティックを、燃えるゴミ、燃えないゴミ、分別込み、どれで出してもOKらしい
あれはやってますアピールなんだとか

882:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p)
23/04/09 18:24:47.66 aX3VhQL60.net
分別よりも、粗大ゴミ、家電ゴミなどの有料ゴミは厳格に扱われる
迂闊に持ち帰ると大目玉食らうらしい

883:デフォルトの名無しさん
23/04/09 18:45:27.28 zFNH8tsS0.net
問題があるからそうしているわけじゃなくて限りある資源をリサイクルだからそうしている
「どれで出してもOKらしい」と言うのは論点が間違ってる

あと指定された場所にあるゴミは所有権の放棄じゃなくて自治体への譲渡みたいなモノだから持ち帰りは窃盗になる

884:デフォルトの名無しさん (ラクッペペ MM66-DefY)
23/04/09 18:45:49.74 qh8VxmjLM.net
条例と法令の違い

885:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p)
23/04/09 18:49:28.88 aX3VhQL60.net
いや実際そうだぞ
汚れているプラスティックを分別ゴミに混ぜられると迷惑なんだそうだ
洗剤でゴシゴシ洗って綺麗にしてから出せだとさ

886:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p)
23/04/09 18:51:41.97 aX3VhQL60.net
実際PETボトルは回収しても資源として再利用するのに手間が掛かる
だから、飲料メーカーもPETからアルミ容器に切り替えている
アルミはリサイクルが簡単なんだそうだ

887:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p)
23/04/09 19:02:34.53 aX3VhQL60.net
迂闊に持ち帰ると大目玉、はゴミ収集業者の話な

888:デフォルトの名無しさん (ワッチョイ 0279-90pI)
23/04/09 19:07:33.05 I9Qf3W7D0.net
基本リサイクルはコスト的にデメリットしかない
一部ではやってますよアピールをしつつ、大半は分別したのをわざわざまとめて燃やしたり他所に押し付けるのが現実
環境商法は理想アピールとかけ離れた現実が弱みになって反社が入り込みやすいジャンルになってるから関わると危険だよ

889:デフォルトの名無しさん (テテンテンテン MM66-xOzU)
23/04/09 19:12:09.18 ONc2duBhM.net
>>863
お前の大好きなstrlenがそれだろw
支離滅裂過ぎてもはや自分が何言ってるか分かってなさそうw
お大事に…

890:デフォルトの名無しさん (テテンテンテン MM66-xOzU)
23/04/09 19:15:10.49 ONc2duBhM.net
文字列とストリームの区別が付いてないアホに付き合わないといけないとはな…
そういう奴のコードはバグだらけだろうなw

891:デフォルトの名無しさん (テテンテンテン MM66-xOzU)
23/04/09 19:22:58.30 ONc2duBhM.net
ま、Cの文字列はバグり易いのは間違いないがな
特にmmapを使うと悲劇が起こりやすい
なのでテキストファイルの読み込みには、LoadTextFileの様な明確な名前を付けて専用に用意するのが常套手段
もちろんゼロ終端文字列を返す

892:デフォルトの名無しさん (スッップ Sd22-VdbI)
23/04/09 19:27:24.15 8g05NYDAd.net
strlenとか使う馬鹿がいるのか
ラベル低すぎ

893:デフォルトの名無しさん (テテンテンテン MM66-xOzU)
23/04/09 20:52:59.04 ONc2duBhM.net
Linux Kernelでも使われてるけど、ラベル低すぎとは知らなかったw

894:デフォルトの名無しさん
23/04/09 23:27:25.54 rzCgDpP30.net
strlen strcpy strcatのストラ三兄弟は使うな
普通はマクロ定義でスピードアップ

895:デフォルトの名無しさん
23/04/10 00:09:17.40 IbkX37li0.net
どんなマクロなんだい

896:デフォルトの名無しさん
23/04/10 05:24:42.66 hibmPNuj0.net
>>864
データサイズの話じゃなかったのかよ?
なんで配列のサイズかどうかになるんだ

897:デフォルトの名無しさん (スッププ Sd22-QGEt)
23/04/11 00:17:24.82 KrSp3HQhd.net
>>883
なんかこの人おかしくないか?ラベル…?
>>884も変だけど…ストラ3兄弟って…ギャグか?w
最終的に関数名をちゃんとすればどうにかなるみたいだし
そんな話誰が信じるんだよw


>>886
859に言ってくれ
明らかな誤りが含まれていたので訂正した

898:デフォルトの名無しさん (テテンテンテン MM66-xOzU)
23/04/11 02:28:47.80 MidqBNVpM.net
>>887
>>882に言えよ

899:デフォルトの名無しさん (ワッチョイ 2d63-r2C4)
23/04/11 06:49:02.21 dFL5vcfn0.net
>>887
訂正ってどこ? 具体的なレス番plz

900:デフォルトの名無しさん (ワッチョイ a910-Ay2p)
23/04/11 07:47:26.88 lpXrKUt40.net
Cを捨ててCStringを使うC++へ行けってことだろ。

901:デフォルトの名無しさん (ワッチョイ 2d63-r2C4)
23/04/11 08:08:42.83 dFL5vcfn0.net
std::stringではなくCStringな変人きたな

902:デフォルトの名無しさん (スッップ Sd22-QGEt)
23/04/11 08:55:39.31 ozkx3imqd.net
>>889
訂正は>>864だが>>859を読んですぐおかしいと思わなかったなら理解できないと思う

903:デフォルトの名無しさん (ワッチョイ 495f-/aea)
23/04/11 09:23:43.71 Q4R/j+cb0.net
>>859 の言ってるのは argv[argc] == NULL となる規定のことでしょ。
それ自体は正しいので訂正することも無い。

904:デフォルトの名無しさん (ワッチョイ 495f-MO2j)
23/04/11 09:41:53.28 7OwUdYTT0.net
MFCに帰ろう

905:デフォルトの名無しさん (スッップ Sd22-QGEt)
23/04/11 09:52:04.87 ozkx3imqd.net
>>893
文字列サイズの話をしているのに文字列配列の要素数の話で「サイズ」と言うのは不自然
859はargvについて誤解してると思う

906:デフォルトの名無しさん (ワッチョイ 2d63-r2C4)
23/04/11 15:56:45.30 dFL5vcfn0.net
>>895
残念ながら俺は文字列サイズとかいう造語の話はしてない
853曰く
> サイズわかってるのに終端つける意味がないわ
に対してあえて冗長な設計にする場合があると指摘したまで

>>864もそうだがどうもおまえさんサイズという語の意味を都合良く変動させているようだな

907:デフォルトの名無しさん
23/04/11 19:04:39.28 7OwUdYTT0.net
小生は文字列の長さを表すとき、strlenに習ってlengthという語を用いますん

908:デフォルトの名無しさん
23/04/11 19:20:48.37 1aMyTP0X0.net
文字列サイズなんて聞くと、配列要素数かと受け取ってしまう

909:デフォルトの名無しさん
23/04/11 19:50:55.63 ozkx3imqd.net
>>896
くだらない言い訳だ
文字列をロードしたサイズの話をしているのにコマンドラインの引数の個数の話にするのは不自然だと感じた
どうでもいいが文字列の終端までの長さをなんと呼ぶのかね

910:デフォルトの名無しさん
23/04/11 20:01:03.76 eL0kPSHK0.net
文字列長
文字の長さ
文字列の長さ
長さ

911:デフォルトの名無しさん
23/04/11 20:41:17.09 1aMyTP0X0.net
あと、文字数というのも入れてあげて

912:デフォルトの名無しさん
23/04/12 02:49:44.30 1sJZVfCp0.net
文字の長さ 3m
重さ 5kg

913:デフォルトの名無しさん
23/04/12 02:52:08.54 1sJZVfCp0.net
URLリンク(www.shinjuku-i-land.jp)

914:デフォルトの名無しさん
23/04/12 02:53:14.30 1sJZVfCp0.net
とても長くて太くて大きくて重そう

915:デフォルトの名無しさん
23/04/12 06:48:43.44 NgkNjGWQ0.net
>>899
それってあなたの感想ですよね

916:デフォルトの名無しさん
23/04/12 08:59:58.23 HQz+hF5G0.net
もうそれ秋田

917:デフォルトの名無しさん
23/04/12 11:42:14.25 +8HledSTa.net
0終端の良い所は可変長でどんなに長い文字列でもメモリが許す限り文字列を続けられる
もちろんデメリットは長さがすぐに判らない
逆に長さを持って struct {size_t len; char hoge[0]} Str; みたいな構成にするのもありだが
例えば Str *s = (Str *)malloc(len + sizeof(Str)); で確保して使う
後者のデメリットは size_t len の最大値までしか文字を格納出来ないこと
struct {short len; char hoge[0]} Str; みたいな実装もたまに観るからあなどれない

918:デフォルトの名無しさん
23/04/12 11:51:49.32 +8HledSTa.net
>>838
C++だと
vector の size() が size_t を還して
for(int i = 0; i < v.size(); ++i)
って描くと警告出るので
for(int i = 0; i < (int)v.size(); ++i)
にするとさらに警告出て鬱陶しいから
for(size_t i = 0; i < v.size(); ++i)
にするアホな例はよく観るってどっかのサイトに描いてあった

919:デフォルトの名無しさん (テテンテンテン MM66-xOzU)
23/04/12 12:32:16.29 81IdaWl4M.net
C++ならイテレーター使えよ…

920:デフォルトの名無しさん (ワッチョイ 495f-cPl8)
23/04/12 12:42:43.03 Q+QfGKpq0.net
vectorはランダムアクセスがウリだからイテレータ使わないこともよくあるね

921:デフォルトの名無しさん
23/04/12 13:01:34.03 N6w93SJGd.net
>>899
「文字列の終端までの長さ」ですが何か?

922:デフォルトの名無しさん
23/04/12 13:23:26.32 3jp3M04i0.net
(文字列の)文字数

923:デフォルトの名無しさん
23/04/12 13:42:24.69 dS1BcMQZ0.net
>>909
コードによってはインデックスでアクセスしたいこともあるから...

924:デフォルトの名無しさん
23/04/12 13:57:15.96 gJHWYvs7a.net
「アホな例」と書く意味が分からん
ちゃん型を使うべきだろ

925:デフォルトの名無しさん
23/04/12 13:57:40.50 gJHWYvs7a.net
ちゃんと型を使うべきだろ

926:デフォルトの名無しさん
23/04/12 13:59:47.55 gJHWYvs7a.net
そもそも「アホな例」じゃないとLP64でおかしなことになるよね

927:デフォルトの名無しさん
23/04/12 14:05:32.31 NgkNjGWQ0.net
struct X;
void func(struct X[]); //error
struct Y { int a; };
void func(struct Y[]); //ok
不完全型の場合、仮引数の[]はポインタにならない??
ちな、gccではエラー、clでは通る

928:デフォルトの名無しさん
23/04/12 14:17:34.62 mayblUPzd.net
C++だと通ったね
gcc/clangのCだとX[]は許されないけどX*は許される
関数宣言より前にX型の定義がないとコンパイルが通らなかった

929:デフォルトの名無しさん (ワッチョイ 2d63-r2C4)
23/04/12 14:55:48.73 NgkNjGWQ0.net
どっちが正しいのかね

930:デフォルトの名無しさん
23/04/12 15:04:32.82 219MxBT/0.net
>>907
馬鹿な私に少しだけアドバイスを

それってsize_tのビット幅 < システム(OS)のビット幅と言う条件下での話なんでしょうか?
size_tがシステム(OS)のビット幅と同じならメモリで管理できるものは必然的にsize_tでも表現できると思うのですが
メモリ上で管理できているゼロ終端文字列をsize_tで表現できない場合ってあるんですか?
まあ一部の組み込みとかならあるかも知れませんが……
けどそういう環境の場合strlenなどのsize_tで返す場合でも表現できなくなるわけで、結局size_tに依存することになってどっちでも同じじゃないかと思うんですがどうなんでしょうか?

931:デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh)
23/04/12 15:07:46.44 gccG0Jwg0.net
>>919
規格は知らんけど配列とポインタは違うんだからエラーで弾くのは正論だと思うけどね
通す処理系はその後の整合性をユーザーが担保する前提の思想なんでしょ

932:デフォルトの名無しさん (ワッチョイ 2d63-r2C4)
23/04/12 15:09:16.06 NgkNjGWQ0.net
>>921
仮引数に限っては*と[]は同じはず
不完全型だけ例外というのは気持ち悪い

933:デフォルトの名無しさん
23/04/12 15:15:29.08 219MxBT/0.net
>>908
もう一つ無知なる私にアドバイスをお願いします

size_t len までは文字を格納出来ると>>907から読み取りましたが
sizeof(size_t)==sizeof(int) の場合
vector v のサイズがINT_MAX以上だった場合、 i < (int)v.size() ではプログラマーが予期しない動作になりませんか?

934:デフォルトの名無しさん (ワッチョイ 412d-dXWb)
23/04/12 15:27:40.89 7SV2gFKB0.net
size_t が符号なし整数型
int が符号付き整数型

935:デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh)
23/04/12 15:34:06.47 gccG0Jwg0.net
>>922
はずだかなんだか知らねーけど、そんなことはどうでも良くてサイズの分からないオブジェクトの配列は作れんって言ってんだよ
操作上の違いはともかく配列として宣言したんなら関数内では配列として扱うってことを示唆してるわけだろ
仮にそのfuncだかって名前の関数の中にX[3]とかX+5って書かれたらどうやってアドレス出すんだってことよ
動作に違いがあるってことは規格がそれを許してる箇所なんだろうけど弾いてる処理系はそういう考えなんだろう

936:デフォルトの名無しさん (ワッチョイ 2d63-r2C4)
23/04/12 15:53:08.00 NgkNjGWQ0.net
>>925
仮引数はその場に配列を作り出したりはしないという基本が合意できない以上
これ以上おまえさんと話すのは無駄だな

937:デフォルトの名無しさん (ワッチョイ 2d63-r2C4)
23/04/12 15:53:49.38 NgkNjGWQ0.net
> 規格は知らんけど

この時点で気付くべきだった

938:デフォルトの名無しさん (ワッチョイ a910-Ay2p)
23/04/12 15:55:21.15 1mphmeyq0.net
Cはアセンブラの代用言語。

939:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 423e-/aea)
23/04/12 16:36:09.61 bThMVtxz0.net
>>917
規格的には (関数定義の一部ではない) 宣言の段階なら不完全型であることを許しているように読める。
C99 だと 6.7.5.3 の第 12 段落に書かれている。

> If the function declarator is not part of a definition of that function,
> parameters may have incomplete type and may use the [*] notation in their sequences of
> declarator specifiers to specify variable length array types.

> 関数宣言子が関数定義の一部ではない場合,仮引数の型は不完全型でもよく,
> また宣言指定子列に [*] を使って可変長配列型を指定してもよい。

ちなみに GCC だと以下のようなものもエラーだが MSVC だと通る。

struct X;
typedef struct X Y[10];

940:デフォルトの名無しさん (ワッチョイ 2d63-r2C4)
23/04/12 16:59:41.80 NgkNjGWQ0.net
>>929
㌧X

安心した

941:デフォルトの名無しさん (ワッチョイ 495f-/aea)
23/04/12 23:57:31.43 ysjFLZAD0.net
>>917
Cではエラーになるのが規格準拠の動作。
ただし宣言の形式を変えるだけで通る理不尽な制約でありC++では許されるように改められている。
URLリンク(stackoverflow.com)

942:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 423e-/aea)
23/04/13 00:37:34.59 y5cvZaYN0.net
>>931
そこでも言及されてるけど
型調整 (配列がポインタに読み替えられる) が優先されるか配列宣言子としての解釈が優先されるかって曖昧じゃない?
読み替えより先に配列宣言子として解釈すべきと確信できるような記述ってある?
常識的には曖昧なら厳しい側の制約で解釈すべきだわなーとは思うけど陽には書かれてないように思う。

943:デフォルトの名無しさん (ワッチョイ 02ad-Ay2p)
23/04/13 02:04:44.32 o3x890Fi0.net
>>907
昔々の PASCAL はそんな感じだったな。先頭1バイトに文字列のバイト数が入っていてその後に文字列がある。
当然それだと255バイトまでしか入らないのでもっと長い文字列を扱いたい時に苦しむことになる。
まあでも 8 bit とか 16 bit CPU のマイコンやパソコンにそういう高い要求は最初の頃はあまりなかったのでなんとかなっていた。

944:デフォルトの名無しさん (ワッチョイ 495f-/aea)
23/04/13 02:23:46.11 jklAk1E50.net
>>932
プログラム内に制約 (constraint) 違反がある状態なので、前後関係がどっちだろうと
少なくとも制約違反について診断メッセージを出力しないと規格準拠とは言えない。
> A conforming implementation shall produce at least one diagnostic message ...
> ... if a preprocessing translation unit or translation unit contains a violation
> of any syntax rule or constraint, ...

「通る」が警告も出ずプログラム実行までできる状態と解釈してたけど、
エラーにはならないものの警告が出ているならそれも規格準拠とは言えそう。

945:デフォルトの名無しさん (ワッチョイ 2d63-r2C4)
23/04/13 08:28:10.40 zEEI4t8g0.net
URLリンク(www.open-std.org)

仮引数の[]は、一旦は配列として受理し、その後でポインタに調整されるってことか

946:デフォルトの名無しさん (ワッチョイ 2d63-r2C4)
23/04/13 08:28:50.25 zEEI4t8g0.net
VCで通るのは、VLAがないからってこと?

947:デフォルトの名無しさん (スップ Sd82-VdbI)
23/04/13 23:35:55.91 DvwX4ZoKd.net
間違ってる

948:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p)
23/04/13 23:48:57.98 wWKtbXV/0.net
マスク無死でラーメン食いたい奴は、まず住所を書いて見てよ
その場所にノーマスクで食えるラーメン屋作らないといけないんだろ?
政府が作るのかな?

949:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p)
23/04/13 23:55:11.99 wWKtbXV/0.net
ごめん、誤爆

950:デフォルトの名無しさん (ワッチョイ 02ad-Ay2p)
23/04/13 23:55:19.80 o3x890Fi0.net
はあ

951:デフォルトの名無しさん (ワッチョイ 424b-jq58)
23/04/14 01:01:11.22 E99e4anP0.net
そのキモいレスをどこで発表するつもりだったのか

952:
23/04/15 19:42:43.70 JbgATxBi0.net
最近のLANカードで他力給電のものばかりのようですね、クロスケーブルでピアツーピアできるPCIe のカードって存在しないものですかね…
結局 hub を使っちまった、もったいないなあ

953:◆QZaw55cn4c (ワッチョイ bfba-DPrL)
23/04/16 20:11:08.29 4UlFU6Wr0.net
chatGPTって面白いね…もうgoogle はいらないや

954:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6)
23/04/16 21:13:37.76 Ot5nnykg0.net
C スレで言うことか?

955:デフォルトの名無しさん (ワッチョイ 2763-2Cuq)
23/04/16 21:23:02.75 H2kHWHvu0.net
人工知能とはなんたるや、これがわかってないやつ多いのは仕方ないけど
ム板でこれは由々しきことだな

956:デフォルトの名無しさん (ワッチョイ 7f63-sFbk)
23/04/16 21:48:52.61 zHRI9OsR0.net
煽ってるだけやろ

957:◆QZaw55cn4c (ワッチョイ bfba-sFbk)
23/04/16 22:57:10.75 4UlFU6Wr0.net
スレ終盤恒例のウダウダ話ですよ、たまにはいいじゃあ、ありませんか!

958:デフォルトの名無しさん (ワッチョイ 7f63-sFbk)
23/04/16 23:00:41.18 zHRI9OsR0.net
chatGPT関連のスレは6本も立ってるので、好きな場所でやってください

(盛り上がったら誘導してくれてもいいです)

959:デフォルトの名無しさん (ワッチョイ c7b3-5oiz)
23/04/17 02:44:28.44 PilU+QdE0.net
数値の各桁を足す関数を考えました
100点中何点?
(引数nが2023なら2+0+2+3で7を返す)

int chg(int n)
{
int a;
char s[32], tmp[2];

memset(s, 0, sizeof(s));
sprintf(s, "%d", n);

a = 0;
for(int i=0; i<strlen(s); i++){
memset(tmp, 0, sizeof(tmp));
tmp[0] = s[i];
a += atoi(tmp);
}
return a;
}

960:デフォルトの名無しさん (ワッチョイ 5f79-uE6i)
23/04/17 02:47:29.33 dBG5z/eM0.net
数値計算なのにmemsetを使ってる時点で0点

961:デフォルトの名無しさん
23/04/17 03:00:26.88 2drVnpNQ0.net
int chg(int n)
{
int a;
for(a=0;0<n;n/=10) a+=n%10;
return a;
}

962:デフォルトの名無しさん (ワッチョイ 5fad-sFbk)
23/04/17 03:01:25.01 g2jYQi3l0.net
>>949
それわざわざ文字列にしてからやる必要ないよね。
10で割った余りを足して10で割るのを繰り返せば良いだけだし。
仮に(宿題や問題の都合で)どうしても文字列に直してやらなければならないのだとしても文字列として使う char 配列の
初期化で全部0で埋めるのは処理の無駄だしそんな事をするのはC言語における文字列の扱いについてよく分かって
いないことの現れだと思う。

963:デフォルトの名無しさん (ワッチョイ a702-em59)
23/04/17 03:41:54.19 fyienZF80.net
30点
みんなもっと優しくしてあげなよ。ゴキブリだって生きてるんだぞ

964:デフォルトの名無しさん (ワッチョイ 4702-1OZE)
23/04/17 06:01:50.96 WvGymo4J0.net
あかん!
マイナスの場合はどうするねん

965:デフォルトの名無しさん (ワッチョイ a702-em59)
23/04/17 06:38:08.16 fyienZF80.net
>>951
nが負の場合は?

966:デフォルトの名無しさん (ワッチョイ 67c9-ieXZ)
23/04/17 08:14:09.28 TjOyN7pL0.net
if (n < 0) n = -n;

967:デフォルトの名無しさん (ササクッテロロ Spfb-tEYI)
23/04/17 09:53:06.18 MNSyV7UUp.net
文字列で与えなきゃデカい数字が扱えないやん

968:デフォルトの名無しさん (ワッチョイ c75f-nEk4)
23/04/17 10:26:43.64 jOIYUxZw0.net
int chg(int n)
{
int a=0,b;
while(n) {
b=n/10;
a+=n-b*10;
n=b;
}

969:デフォルトの名無しさん (ワッチョイ 67c9-ieXZ)
23/04/17 10:57:06.60 TjOyN7pL0.net
>>957
int で受けて 文字列化してるからちょっと
最初から文字列で受けてるなら一考の余地はあるかもね

970:デフォルトの名無しさん (ワッチョイ 2763-2Cuq)
23/04/17 10:57:27.95 I3IibvEZ0.net
957涙目だなw

971:デフォルトの名無しさん (テテンテンテン MM8f-/v6j)
23/04/17 12:21:07.80 sfjAbensM.net
プログラミングには最低限の数学的な素養が必要な事が証明された…
科学技術計算を扱わないとしても、計算論とか数学とは切っても切れない関係にある

972:デフォルトの名無しさん (ワッチョイ 5f97-3fkD)
23/04/17 12:50:21.20 9nZn/y+b0.net
銀行の勘定系でも四則演算の知識は必要だし

973:デフォルトの名無しさん (ワッチョイ 67c9-ieXZ)
23/04/17 12:56:30.89 TjOyN7pL0.net
文字列を受ける場合
int chg(const char* s)
{
 int ret = 0;
 char tmp[2] = { 0 };
 while (*s && !isdigit(*s)) s++; /*数字じゃないところは飛ばす */
 if (*s) {
  while (*s && isdigit(*s)) { /* 数字が連続している間だけ */
   tmp[0] = *s; ret += atoi(tmp);
   s++;
  }
 }
 return ret;
}

環境依存で
 isdigit(*s) を ('0'<=*s && *s <='9') に
 tmp[0] = *s; ret += atoi(tmp); を ret += s[0] - '0'; に
置き換えることもできるかもしれない

974:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6)
23/04/17 13:07:40.29 FYaudfJt0.net
>>963
> 環境依存で

数字に対応する文字コードが連続で昇順に並んでいることは
言語仕様で保証されている。

975:デフォルトの名無しさん (ワッチョイ 67c9-ieXZ)
23/04/17 13:15:24.09 TjOyN7pL0.net
>>964
さんきゅう 数字は保障されてたか

976:デフォルトの名無しさん (ワッチョイ 67c9-ieXZ)
23/04/17 13:21:38.21 TjOyN7pL0.net
次の while (*s && isdigit(*s)) と意図の一部は重なるし if (*s) はいらんかったね

977:デフォルトの名無しさん (スプッッ Sdff-wBI8)
23/04/17 15:25:15.58 DnqfCfHpd.net
今のモダンな言語からしたら一見して下らないやり取りだけど
これがC言語なんよね・・・

978:デフォルトの名無しさん (ワッチョイ c75f-nEk4)
23/04/17 15:50:16.10 jOIYUxZw0.net
ハードとアプリのあいだに多くの計算を必要とするソフトの層があるからね
OSやらで全部カバーするのは無理だからCは死なない

979:デフォルトの名無しさん (アウアウウー Sacb-/q5i)
23/04/17 15:51:50.57 kmcXsww3a.net
>>964
漢数字も並んでたら嬉しかったと思いませんか

980:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6)
23/04/17 16:54:39.89 FYaudfJt0.net
>>969
現実には JIS は読みの順序で Unicode は部首の画数の順序が原則。
漢数字を例外にしたらそれはそれで不格好だし嬉しくない人もいるだろう。

まあ Unicode は後から追加した分だのなんだのでそんなに綺麗に並んでいるわけでもないので
どうせぐちゃぐちゃなら数字くらいは並べても良かったんちゃうかなというのは気持ちはわかる。

981:デフォルトの名無しさん (テテンテンテン MM8f-/v6j)
23/04/17 17:19:21.10 tJ5lxHq2M.net
一二三四…Why Japanese people!


982:



983:デフォルトの名無しさん (スッププ Sd7f-1OZE)
23/04/17 19:13:46.43 92m0URlPd.net
>>967
くくく、、愚かな、、

984:デフォルトの名無しさん (スッププ Sd7f-1OZE)
23/04/17 19:21:15.62 92m0URlPd.net
>>954
アンサインドイントで受けたれや!

985:デフォルトの名無しさん (アウアウウー Sacb-/q5i)
23/04/17 20:38:59.46 RKcegE7fa.net
壱<弐<参<死<伍<碌<質<八<苦<拾<


986:百<銭<萬 ですね判ります



987:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6)
23/04/18 08:26:27.42 aNj1uNjV0.net
>>971
英語の綴りの不規則さも大概やないけ! と突っ込んで完成するネタだと個人的には思ってる。

988:デフォルトの名無しさん (スフッ Sd7f-fSvC)
23/04/18 14:58:32.85 aePy3OZ8d.net
未初期化の自動変数には「不定値」が割り当てられる、と調べるたり自分が学んでいる本でも書いていますが、自分のコンパイラは常に「0」になっているようです 
なぜでしょうか? 
ちなみにgcc-10です gcc-11だと「不定値」になります

989:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f32-iKPJ)
23/04/18 15:29:21.41 rjFDtS/R0.net
不定の値とは「未規定の値又はトラップ表現」と規定されてる。
常に 0 であってもこの規定に反しないよ。

990:デフォルトの名無しさん (スフッ Sd7f-7nfa)
23/04/18 16:27:26.25 U9oAz8h1d.net
>>977 ありがとうございます
ちなみに「トラップ表現」とはなんでしょうか?

991:デフォルトの名無しさん (スフッ Sd7f-foDO)
23/04/18 16:57:48.54 U9oAz8h1d.net
976です chatgptで調べました
C言語の仕様では、自動変数を初期化しない場合、その値は不定とされています。これは、コンパイラがメモリ上で変数を割り当てる際に、その領域が以前に使用されていたデータを含んでいる可能性があるためです。

しかしながら、一部のコンパイラでは、自動変数を0で初期化することがあります。これは、セキュリティ上の理由から、またはコードの可読性を向上させるために行われることがあります。

ただし、コンパイラが自動変数を0で初期化することが保証されているわけではありません。したがって、プログラマは自動変数を使用する前に必ず初期化するように注意する必要があります。

992:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f32-iKPJ)
23/04/18 17:04:00.61 rjFDtS/R0.net
>>978
トラップ表現は「オブジェクト型の値を表現しないオブジェクト表現」ということになってる。
その型としてあり得ないビットパターンってこと。
オブジェクトとして格納されたトラップ表現を文字型ではない左辺値式として読みだした場合の結果は未定義となる。
副作用としてそのような表現が生成される場合も未定義。

C の仕様でいう未定義というのは「何が起きても (たとえば暴走しても) 良い」という意味なので実質的に禁止だと思ってもいいよ。

とはいえ整数型でトラップ表現があるアーキテクチャを私は見たことが無いけどな。

993:デフォルトの名無しさん (スプッッ Sdff-ZLJR)
23/04/18 18:20:39.02 Qric2C4Yd.net
トラップ表現を調べてみたけどほぼほぼ処理系定義絡みなのね

signed int16の0x8000は-32768かもしれないし、トラップ表現かもしれない
1の補数系でsigned int16の0xffffは0かもしれないし、トラップ表現かもしれない
int32* の4バイト境界に合ってないポインタ(int* p=0x0001)は、強制的に4バイト境界に直されるかもしれないし、トラップ表現かもしれない

994:デフォルトの名無しさん (スフッ Sd7f-foDO)
23/04/18 19:26:15.76 U9oAz8h1d.net
>>980 ありがとうございます 勉強になりました

995:デフォルトの名無しさん (テテンテンテン MM8f-/v6j)
23/04/19 02:26:26.48 Nl7uhZkpM.net
自分のコンパイラってのを明らかにしてくれ
どうしても言えないってならしょうがないが…

996:デフォルトの名無しさん (ワッチョイ 6746-KCd8)
23/04/19 02:43:50.96 MHEst9B30.net
>>983
> ちなみにgcc-10です
と書かれている。

997:デフォルトの名無しさん
23/04/19 06:44:34.46 Dcht9s5K0.net
>>983
バーカ(笑)

998:デフォルトの名無しさん
23/04/19 06:59:06.58 twYHK80b0.net
983息してるか?www

999:デフォルトの名無しさん
23/04/19 07:47:07.07 BpfZGgoRd.net
かてなおったかな

1000:デフォルトの名無しさん
23/04/19 10:03:53.18 rE0e6VM+0.net
自作コンパイラの話する?

1001:デフォルトの名無しさん
23/04/19 10:43:43.68 m2bdQTksd.net
いいぜ?お前からな?

1002:デフォルトの名無しさん
23/04/19 11:58:53.24 rE0e6VM+0.net
ぼくはLex&YACCでPL/0を作って満


1003:足しました。おわり



1004:デフォルトの名無しさん
23/04/19 13:12:38.94 IP5wt1Fbd.net
夜中に路地から飛び出て来たら俺もびびる
でも >>991 では語れんわ!

1005:デフォルトの名無しさん
23/04/19 20:04:36.21 3t8AIZsr0.net
C言語のソースコードを検査して処理系依存や未定義動作等の環境によって
結果が変わりうる可能性のある部分を見つけてくれるツールってどんなのがありますか?
コードエディタはvscodeなのでこれと連携できるとなおよいです

1006:デフォルトの名無しさん
23/04/20 08:07:01.48 B156zYN00.net
lintでググれ

1007:デフォルトの名無しさん
23/04/20 08:23:22.20 3as2C0030.net
BingAIに聞け

1008:デフォルトの名無しさん
23/04/20 09:13:39.09 EuuMXrfTa.net
とにかくggr

1009:デフォルトの名無しさん
23/04/20 16:00:12.38 ZTK8T1RQd.net
チャットジーピーテー

1010:デフォルトの名無しさん (ラクッペペ MM8f-bKDU)
23/04/20 23:37:04.36 BN6x5ZIFM.net
さすがに検査対象としてソースコードそのものをchatGPTに丸投げするのはマズイ
個人情報や機密情報をそのまま入力するのは止めるように開発元のopenAIが忠告してたはず

1011:デフォルトの名無しさん
23/04/21 06:41:53.06 NmcLOv2EM.net
>>993
よさそう。サンキュー

1012:デフォルトの名無しさん
23/04/21 13:41:26.17 cgpIrgwq0.net
次スレどこ?

1013:デフォルトの名無しさん
23/04/21 14:06:43.23 rqj2HSDF0.net
次スレ
スレリンク(tech板)

1014:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 114日 3時間 26分 13秒

1015:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch