- 1 名前:デフォルトの名無しさん mailto:sage [2018/02/19(月) 22:13:58.98 ID:9/te2eSJ0.net]
- C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C11 www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.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言語なら俺に聞け 144 https://mevius.5ch.net/test/read.cgi/tech/1514025223/ 次スレを立てる時は本文の1行目に以下を追加して下さい !extend:on:vvvvv:1000:512 VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
- 449 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 20:04:26.12 ID:/ChP+Vc3M.net]
- 突っ込まれて遁走だろ w
- 450 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 02:09:35.30 ID:IiyiuIPr0.net]
- ここで幾ら議論してもC言語は変わらない。
Cから派生した言語を新たに作るというのであれば議論することには意味があるだろうが、そうでないならそれはただの愚痴だ。
- 451 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 06:44:38.33 ID:4nqAllCK0.net]
- おまえさあCの例外処理が言語のビルトインとか思っているわけ?
Cは変わらないとか言っちゃってるけど、 その現状のCがわかってないのに変わったかどうか気付けるのか?
- 452 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 07:02:59.95 ID:M7iHvccR0.net]
- 一応errnoだったかっていう、失敗理由を示す変数がある事はある。忘れられてるけど。
C言語で唯一トラブルシューティングに使える変数。
- 453 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:03:51.30 ID:ylQhqnt4M.net]
- >>436
> その現状のCがわかってないのに お前だけだろ w >>437 ライブラリレベルの話を入れるかどうかは悩ましいな 普通の言語なら入れなくてもいいと思うがC言語にはsetjmp/longjmpなんて言うとんでもないものもあるからなぁ
- 454 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:15:23.77 ID:4nqAllCK0.net]
- errnoだってwww あれが例外処理なのか
setjmpがどうとんでもないのか具体的には言えないんだろうな だから聞かない
- 455 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:25:02.15 ID:M7iHvccR0.net]
- >>439
大域ジャンプするとエラー処理したところが戻ったりして変数グチャグチャになることがあるからな。 まぁ、C++の例外も大域ジャンプだし。個人的には使わないな。 古き良き-1やら_boolであきらめる方が精神的には良い。 んで、趣味位のケースなら正常系だけ書いておけば大体問題ない。 エラー系は大体ロジックエラーだからデバッグで落とす。
- 456 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:29:46.90 ID:ylQhqnt4M.net]
- >>439
> setjmpがどうとんでもないのか具体的には言えないんだろうな 他の言語でライブラリレベルで実装してる例はないから まともな頭があれば理解できるはず
- 457 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:31:33.24 ID:6wuH32OAd.net]
- 高級アセンブラの名前は伊達ではないよね。
- 458 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:32:17.72 ID:M7iHvccR0.net]
- あれジャンプじゃなくて、スタックロールバックだからな。どっちかっていうとリセットの類。
他の言語でこれは実装できない。というかやりたくはないだろう。
- 459 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:35:45.72 ID:M7iHvccR0.net]
- 大域ジャンプ+動的メモリアローケート。あぁおそろしい。
なので、大域ジャンプはやめましょう。
- 460 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:37:30.11 ID:ylQhqnt4M.net]
- >>440
> 大域ジャンプするとエラー処理したところが戻ったりして変数グチャグチャになることがあるからな。 それはお前の能力が足りないだけの話だろ w > まぁ、C++の例外も大域ジャンプだし。 C++はデストラクタとかの処理も要るからライブラリレベルでは実現できない そう言う処理を全てプログラマに押し付けられるC言語だからできるってことでもある
- 461 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:41:34.04 ID:M7iHvccR0.net]
- >>445
あーすげー。この人、他人がいじった変数全部把握してるんだな。すげー。 メモリ確保したのなかったことになっても正常系に戻せるんだな。 超人か!!
- 462 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 08:45:22.60 ID:M7iHvccR0.net]
- C++のクラス機構をライブラリで実装するときは、構文糖入れたりとか、イベントモデル入れたりとか。
エネルギーばかりかかって収穫がない。
- 463 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 09:25:24
]
- [ここ壊れてます]
- 464 名前:.96 ID:ZphqLecba.net mailto: >>436
Cには言語レベルでの例外処理はないのでは?何のことを指してそう言っているのか? [] - [ここ壊れてます]
- 465 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 09:28:14.80 ID:ooB4nY3v0.net]
- Cにだって例外処理はある。
でもそれって、CPUの例外割り込みの事だけどね。 あー結局言語仕様じゃ無いじゃんw
- 466 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 09:29:50.23 ID:ZphqLecba.net]
- >>449
ほら。ないよな?
- 467 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 09:32:49.61 ID:ZphqLecba.net]
- 割り込みっていうならシグナルがあるがしかしOSの問題だよな?
てか標準じゃないか。それにシグナルのために特別な言語仕様が作られてもいない。
- 468 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 09:35:13.20 ID:ooB4nY3v0.net]
- 所詮Cは高級アセンブラだからなぁ
- 469 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 10:19:21.23 ID:4nqAllCK0.net]
- >>441
現状のCの話じゃなかったのか? なんで他の言語が出てくるんだ 俺はてっきりsetjmpの仕様がとんでもないと言っているのかと思ったが 実装方法がとんでもないと言っているのか? あれか動作保証のないマイクロ診断命令でも使っていると言いたいの?
- 470 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 10:20:28.21 ID:4nqAllCK0.net]
- >>448
言語を定義する規格票が定義しているライブラリのことだよ まさか知らんのか?
- 471 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 11:44:11.11 ID:jowRUKsS0.net]
- 何やら雰囲気が悪くなってるように感じるけど、カレンダー絡みかな。
- 472 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 12:08:39.92 ID:L/3+Hz1H0.net]
- やたら突っかかってくるやつを構ってやっているだけだが
- 473 名前:デフォルトの名無しさん [2018/03/14(水) 12:22:56.52 ID:e7inwI4na.net]
- >>454
知らんなあ。Cの例外処理ってなんなの?
- 474 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 12:24:13.25 ID:y6ADsCAy0.net]
- ここは遊び場ではありません
- 475 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 12:52:15.53 ID:L/3+Hz1H0.net]
- >>457
そうか、知らんのか じゃあ話にならんな
- 476 名前:デフォルトの名無しさん [2018/03/14(水) 12:53:42.74 ID:e7inwI4na.net]
- >>459
何のことなのかぜひ書いてくれ。
- 477 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 12:53:55.90 ID:L/3+Hz1H0.net]
- 人の話の腰を折ることに専念せざるを得ない防戦一方なつまらんやつ
- 478 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 12:55:02.45 ID:L/3+Hz1H0.net]
- >>460
おまえ、そこで3回まわってワンといえ 書いてやるかも知んねーからw
- 479 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 12:55:16.50 ID:x85VLsABM.net]
- >>446
むしろそう言うのを把握せずにどうやってプログラム組んでるんだよ? 動けばラッキーってか? w
- 480 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 12:58:38.88 ID:x85VLsABM.net]
- >>453
> 現状のCの話じゃなかったのか? > なんで他の言語が出てくるんだ どんだけ理解力がないんだよ... > 俺はてっきりsetjmpの仕様がとんでもないと言っているのかと思ったが > 実装方法がとんでもないと言っているのか? だから他の言語ではライブラリでは実装しづらい機能って話な > あれか動作保証のないマイクロ診断命令でも使っていると言いたいの? 背伸びしてマイクロ診断命令とか言い出すとか w
- 481 名前:デフォルトの名無しさん [2018/03/14(水) 13:00:11.52 ID:e7inwI4na.net]
- もしやこんなやつの事を言ってるのか?
d.hatena.ne.jp/htz/touch/20090216/1234774418
- 482 名前:デフォルトの名無しさん [2018/03/14(水) 13:02:30.29 ID:e7inwI4na.net]
- 自作関数からのlongjmp()利用するなら似たようなものは作れるが、それは言語レベルで例外処理をサポートしている状態とは違う。
- 483 名前:デフォルトの名無しさん [2018/03/14(水) 13:02:58.32 ID:e7inwI4na.net]
- >>462
言ったぞ。早く書け。
- 484 名前:デフォルトの名無しさん [2018/03/14(水) 13:04:49.57 ID:e7inwI4na.net]
- あ、関係ないけどホーキング博士が死んだという速報が入った。
- 485 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 13:35:20.49 ID:M7iHvccR0.net]
- >>463
大域ジャンプなんぞつかわんので。GOTOくらいは使うけど。 戻った変数と戻ってない変数把握するの無駄すぎる。 んで、どうやってって関数かくときにifで入力要件位書くだろ。無駄な引数減らしたりとか。
- 486 名前:デフォルトの名無しさん mailto:sage釣 [2018/03/14(水) 13:43:20.07 ID:Ul+PcfeA0.net]
- HDLCの状態遷移を大域jump無しで書くのは大変だろうなぁ
- 487 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 13:48:42.43 ID:M7iHvccR0.net]
- さぁ、未経験だからね。
- 488 名前: mailto:sage [2018/03/14(水) 14:09:18.81 ID:J4jCJ0kF0.net]
- >>468
うん、確認した
- 489 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 14:51:40.09 ID:L/3+Hz1H0.net]
- >>467
そんな約束してねえぞゲーハー
- 490 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 14:54:07.64 ID:L/3+Hz1H0.net]
- >>469
gotoじゃなくGOTOね
- 491 名前:
Cに限らない一般論ということだな しかしlongjmpやthrowなんか大域ジャンプだろ おまえさんはそう思わないのか? [] - [ここ壊れてます]
- 492 名前:デフォルトの名無しさん [2018/03/14(水) 15:26:30.92 ID:2cAisCwCF.net]
- >>452
それな Cのソース書きながらアセンブラのソースが思い浮かぶ
- 493 名前:デフォルトの名無しさん [2018/03/14(水) 17:04:58.74 ID:buZ+p9lOa.net]
- >>473
早く書けよ。こっちゃあ昼からずっと回ってワンワン言いっぱなしなんだからよ。もう千回ぐらい回ったぞ。
- 494 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 17:08:34.94 ID:L/3+Hz1H0.net]
- >>476
よかったな ほら、もう1000回 # アホ
- 495 名前:デフォルトの名無しさん [2018/03/14(水) 17:14:31.52 ID:buZ+p9lOa.net]
- 他の人でこいつの言うことわかってるやつ居るのか?
- 496 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 17:24:39.97 ID:L/3+Hz1H0.net]
- 犬に邪魔されて説明どころではない状態だからなあ
- 497 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 18:08:46.89 ID:m9sKyebjH.net]
- 情報持ってるふりして出し惜しみするのがマウンティングの基本
- 498 名前:デフォルトの名無しさん [2018/03/14(水) 18:24:47.12 ID:2cAisCwCF.net]
- 朝日新聞ですねわかります
- 499 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 18:29:37.08 ID:L/3+Hz1H0.net]
- 煽れば出ると本気で思っているならやってみな
この程度の話、マジこの程度にも付いて来れないアホの泣き声は物笑いの種だぜ
- 500 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 18:30:37.68 ID:uMO7yRavM.net]
- >>469
無駄じゃねーよ、把握しろ 把握しやすく設計するのも能力のうち
- 501 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 18:32:36.61 ID:uMO7yRavM.net]
- >>480
持ってるふりすらできてないだが... どうみてもいっぱいいっぱいやん w
- 502 名前:デフォルトの名無しさん [2018/03/14(水) 18:41:41.61 ID:buZ+p9lOa.net]
- ま、どうでもいいから>>436で書いたC言語の例外処理についてどういうものなのか書けよ。
- 503 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 18:52:07.48 ID:L/3+Hz1H0.net]
- >>485
それよりあと1000回だぞ 急がないと日付が変わっちまうぞw
- 504 名前:デフォルトの名無しさん [2018/03/14(水) 19:21:46.36 ID:buZ+p9lOa.net]
- わかったわかった。もう書かなくていいよ。かわいそうなやつだな。合掌。
- 505 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 19:45:37.85 ID:IogLKo4e6.net]
- ID:L/3+Hz1H0に構うな
- 506 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 21:53:59.94 ID:L/3+Hz1H0.net]
- 収穫ゼロで引き下がる、みじめなヤツw
- 507 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 06:38:35.49 ID:z1/gBAj5d.net]
- Cでエクセルの指定シートだけテキスト化できます?
- 508 名前:デフォルトの名無しさん [2018/03/15(木) 07:11:47.68 .net]
- >>490
できますん Excelがインストールされている環境で動かす前提であれば COMコンポーネント (Microsoft Excel Object Library) を使えばいいが C++じゃないとダメかも 自前でExcelフォーマットを解析して変換することも 膨大な工数を費やせば理論的にはできるだろうが 現実的には選択肢に入らないな xlsx限定ならまだ楽かも知れんが Excelを扱う部分は他の言語で開発してCからはそれを呼び出すのが普通かな
- 509 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 07:16:10.04 ID:BwZLx9bwM.net]
- >>490
できるけど結構面倒だよ ところでなんでC縛りなの? なんかの苦行とか?
- 510 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 07:53:33.32 ID:/GlmcHqY0.net]
- Cにあっていると思う
バイナリを呼んでキャストして キャスト後も分岐ルートが色々あって 構造体はほとんど可変長 細かいものを組み上げるのは、たぶん Cが最適
- 511 名前:デフォルトの名無しさん [2018/03/15(木) 09:54:54.80 ID:W95zVRhkp.net]
- FIFO(名前付きパイプ)で、大量データを分割して送受信したいです。
送信側 --------------------------- buff=malloc(datalen); len=512; pos=0; do{ w=write(fifo,buff+pos,len); pos+=w datalen-=w len=datalen < 512 ?
- 512 名前: datalen : 512
}while(0<datalen) --------------------- こんなんでok? [] - [ここ壊れてます]
- 513 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 10:35:33.07 ID:v5sVsR9k0.net]
- ・最初に飛び込んでくる段階で datalen が 分割サイズ(512) より小さい時の考慮
(ループ中と同じ記述で良いのでは?) ・書けなかった時(w=0 だったとき) の脱出をケアする ぐらいでしょうか
- 514 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 10:45:14.98 ID:lf1N2aO70.net]
- SIGPIPEで死ぬぽ。
- 515 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 10:49:38.59 ID:c+umNtGLp.net]
- マジックナンバー使うな。
- 516 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 11:01:51.80 ID:OczprsBK0.net]
- >>496
シグナルは悪い文明! 粉砕する!
- 517 名前:デフォルトの名無しさん [2018/03/15(木) 12:00:46.26 .net]
- >>494
実用的にするなら非同期送受信でいろいろケアしたほうがいいけど 学習用とか数人で使うテストツールとかならいいんじゃね?
- 518 名前:デフォルトの名無しさん [2018/03/15(木) 12:19:33.36 ID:KGbgKLI3a.net]
- >>494
エラー処理が抜けてる。
- 519 名前:デフォルトの名無しさん [2018/03/15(木) 12:21:39.25 ID:KGbgKLI3a.net]
- >>496
そうそう。しかしその辺はOSや接続先によって違うかも。
- 520 名前:デフォルトの名無しさん [2018/03/15(木) 16:10:59.70 ID:CR6uT/FI0.net]
- >>494
これの受信側read()のコードを求むm(__)m
- 521 名前:デフォルトの名無しさん [2018/03/15(木) 16:16:36.38 ID:umqIWKjV0.net]
- 【守銭奴】 株・FX・トレーダー <キリストW再臨″> 史上初テレパシー演説 【救世主】
https://rosie.5ch.net/test/read.cgi/liveplus/1521080734/l50
- 522 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 17:42:18.79 ID:v5sVsR9k0.net]
- プロトコルなんか無しに来たものを読みきるだけの話なら
allocsz = blocksz = 512 buff = malloc(allocsz); use = 0; for (;;) { w = read(FIFO, buff+use, allocsz-use); if (w == 0) { /* もう来ない */ break; } else if (w > 0) { use += w: if (use >= allocsz) { // 器が尽きた allocsz += blocksz; buff = realloc(buff, allocsz); // 手抜きで realloc } } else { /* エラーケアしてね */ } } buff に use バイトだけ収まってる
- 523 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 17:56:13.79 ID:lf1N2aO70.net]
- >buff = realloc(buff, allocsz)
リークするからやめなよ。
- 524 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 18:05:35.40 ID:c+umNtGLp.net]
- ヒープなんか使わずに配列にして自己管理せい。
- 525 名前:デフォルトの名無しさん [2018/03/15(木) 18:12:47.89 ID:yyzFA25Ma.net]
- ヒープに配列用のメモリを確保しているわけで・・・
- 526 名前: mailto:sage [2018/03/15(木) 18:18:50.14 ID:xYxZI4zx0.net]
- >>505
ん?realloc() はリークするのか?
- 527 名前:片山博文MZ mailto:sage [2018/03/15(木) 18:24:18.46 ID:mTrAuuczd.net]
- >>508
割り当てに失敗したらリークするよ。
- 528 名前: mailto:sage [2018/03/15(木) 18:34:07.27 ID:xYxZI4zx0.net]
- >>509
確認した buff = realloc(buff, allocsz) という書き方は、たしかに realloc() に失敗すると buff が null で上書きされてしまうのでまずいね
- 529 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 18:43:54.61 ID:T5+tR1ew0.net]
- 戻りを別の変数で受けて確認してから代入
- 530 名前:片山博文MZ mailto:sage [2018/03/15(木) 18:51:29.92 ID:mTrAuuczd.net]
- 前、ANSI準拠のreallocは、mallocとfreeの代わりになるって話をしたよな。
だから、最初のmallocは、NULLに対するreallocで置き換えできるんだよ。
- 531 名前:片山博文MZ mailto:sage [2018/03/15(木) 18:52:49.68 ID:mTrAuuczd.net]
- それから、この場合はintよりもsize_tを使った方がいい。
- 532 名前:デフォルトの名無しさん [2018/03/15(木) 20:39:48.98 ID:yyzFA25Ma.net]
- >>512
最初だけ、な。
- 533 名前:デフォルトの名無しさん [2018/03/15(木) 23:54:08.20 ID:NmT4VXxza.net]
- 素朴な疑問なんですが、Cでメンバ関数を関数ポインタで定義して、そのメンバ関数から引数なしにメンバ変数を参照
- 534 名前:することってできませんか? []
- [ここ壊れてます]
- 535 名前:デフォルトの名無しさん [2018/03/16(金) 00:14:09.63 ID:LkWvbaD00.net]
- >>515
メンバ関数ってなんですか?
- 536 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 01:02:32.36 ID:w3tL3lE3M.net]
- >>516
C++でいうところのメンバ関数を構造体の関数ポインタのメンバで実装したいという意味だろ。読解しろ。 >>515 むり。C++で見かけ上引数がなくても内部で引数で渡してる。
- 537 名前: mailto:sage [2018/03/16(金) 01:37:32.81 ID:GsmhGHn70.net]
- >>515
https://mevius.5ch.net/test/read.cgi/tech/1434079972/39 メンバ関数 h() を返す メンバ関数 g() を定義 メンバ関数へのポインタ f を定義 メンバ関数へのポインタ f にメンバ関数 g() の返り値を代入 ここでメンバ関数へのポインタ f にはメンバ関数 h() が格納されている ->* 演算子を使用してメンバ関数へのポインタ f が指すメンバ関数 h() を実行、 h() ではメンバ変数 C::a を出力する
- 538 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 02:08:17.17 ID:w3tL3lE3M.net]
- >>518
スレタイ見ろ
- 539 名前:デフォルトの名無しさん [2018/03/16(金) 04:14:48.79 ID:3pmuZEr10.net]
- ポインタ構造体変数をポインタ変数で扱いたい時って
&p(ポインタ変数構造体変数)-> member(メンバ名) みたいにわざわざ一回通常変数に直してからアドレスになおさないかんの?
- 540 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 05:57:40.20 ID:PrpOQ5WH0.net]
- (&p)->memberなんてまずやらん
p.memberで同じことができる
- 541 名前:デフォルトの名無しさん [2018/03/16(金) 06:50:12.92 ID:3pmuZEr10.net]
- >>521
それやったらコンパイラにそんな構造体変数ないぞって言われた
- 542 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 08:05:49.18 ID:w3tL3lE3M.net]
- >>522
質問するときは変数の宣言も使う文脈も省略せずに書け
- 543 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 08:16:43.56 ID:6+mGA4RRM.net]
- >>522
&p->membar (&p)->membar
- 544 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 10:27:00.36 ID:DfshN/+jp.net]
- 型教えないと何やっても無理だろ。
あと。下手に型変換させると、奇数バイトからワード処理とかさせてしまい、石によっては例外処理が走るか暴走するよな。
- 545 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 11:29:31.94 ID:07ayGtU0a.net]
- cのコンパイラ作るのにアセンブラの知識は必要?
- 546 名前:デフォルトの名無しさん mailto:sage釣 [2018/03/16(金) 11:38:22.80 ID:ObjPIdw20.net]
- 今なら、LLVMがあるからコード生成はそちらに任せるという
選択肢があるね。
- 547 名前: mailto:sage [2018/03/16(金) 11:59:50.08 ID:GsmhGHn70.net]
- >>526
コンパイルというくらいだから、最後に機械語に落とし込むのにアセンブラの知識は必要になるのではないか?
- 548 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 12:01:10.57 ID:rupS10t30.net]
- C++ to C コンパイラとか 生成物が機械語で無いのもあるんじゃね?
(昔そういうの欲しかった)
- 549 名前:デフォルトの名無しさん [2018/03/16(金) 12:19:28.27 ID:56A/2jiga.net]
- >>517
Cには無理なんですね ありがとうございます
|

|