[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/03 12:10 / Filesize : 265 KB / Number-of Response : 1010
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け 156



1 名前:デフォルトの名無しさん [2020/09/28(月) 14:41:30.00 ID:QxfbhGyV0.net]
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
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言語なら俺に聞け 155
https://mevius.5ch.net/test/read.cgi/tech/1589120427/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

623 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 12:08:04.07 ID:sAz3YI3ta.net]
>>616
仮想アドレスに連続した空き領域が足りないのに、とりあえずで何を割り当てるんだよ

624 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 12:15:26.28 ID:X7rXBKGs0.net]
メモリーマップトファイルでペタバイトの巨大なプログラムを実行するんだい

625 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 12:55:57.12 ID:pbmfU4sr0.net]
>>614
俺にレス?なんか間違ってるか?

626 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 12:57:17.63 ID:pbmfU4sr0.net]
>>621
おっと612か。すまんかった

627 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 15:00:04.42 ID:E2XTqnevd.net]
>>610
言いきってるように見える?
おれには初心者が「大体こんな感じ?」って言っただけにしか見えないんだけど

意味的には大体合ってるのに
全然違う
とか

最近のOSとしか書いてないんだし

技術的な話をしたいならせめてOSを特定しようよ
勝手に特定のOSを前提にした視野が狭い人みたいだから

628 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 15:27:34.50 ID:4VL29Q1J0.net]
>>623
ああ、>>583が言い切ってるは言い過ぎだな
その後の>>586がアホだって言い直すわ

629 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 15:31:32.55 ID:E2XTqnevd.net]
いやどう見ても>>584がアホ

630 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 16:34:32.36 ID:LPDMRZtK0.net]
スワップファイルが満杯でmallocが失敗なんて状況に陥る前に対策するだろjk

631 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 16:57:50.33 ID:5Na5U87Z0.net]
linux って簡単に process 殺すよね
知らんふりも得意



632 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 18:17:32.24 ID:4VL29Q1J0.net]
>>625
アホと言うなら具体的にどこがアホって書かないと恥ずかしいだけだぞ
一応ここ技術板だし

633 名前:619 [2021/01/24(日) 15:57:31.34 ID:5JJAlISZ0.net]
>>619
64bit時代に仮想アドレスに連続した空き領域が無くなることなんか現実に無いだろ

634 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 16:53:19.15 ID:0zbFdmBp0.net]
>>629
それなら>>616の時点でそう書けばいいだろう。まあC言語の用途を考えれば後付けで64bitに限った話にしようとするのは馬鹿げているが。
で、>>616のとりあえずって結局何だったの?

635 名前:デフォルトの名無しさん [2021/01/24(日) 17:27:58.38 ID:5JJAlISZ0.net]
>>630
常に成功を返す

636 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 17:35:27.66 ID:1wsdfsyQ0.net]
実際にアクセスしたときにページフォルト起こしてページを割り当てるとして、そのアドレスに
連続した空きがない状態じゃメモリ割り当てても使えないじゃん。

637 名前:デフォルトの名無しさん [2021/01/24(日) 22:06:29.57 ID:5JJAlISZ0.net]
>>632
日本語が変だぞw

638 名前:デフォルトの名無しさん [2021/01/24(日) 22:09:51.26 ID:5JJAlISZ0.net]
PFでメモリ割り当てられなきゃ、リスケジューリングだアホ

639 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 22:14:36.76 ID:1wsdfsyQ0.net]
割り当てられたとしても使えないと言っているんだが?それとも既に他で使われている領域を上書きするか?

640 名前:デフォルトの名無しさん [2021/01/24(日) 22:18:58.47 ID:5JJAlISZ0.net]
>>635
4Kページ割り当てて使えないって何なんだよ・・

641 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 22:24:12.86 ID:1wsdfsyQ0.net]
アドレスに連続した空きがない状態だよ。最初からその話をしてるんだろ?



642 名前:デフォルトの名無しさん [2021/01/24(日) 22:28:07.43 ID:5JJAlISZ0.net]
>>637
4K+1byte目をアクセスしたらまたPFだから、MMUの勉強したら?

643 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 22:41:44.60 ID:1wsdfsyQ0.net]
その4Kの中に要求するサイズの連続領域が取れない場合の話だよ。
いったいなにを「とりあえず」割り当てるんだか。

644 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 23:52:48.21 ID:5uhuun5ZK.net]
ページングの話とmallocの領域管理の話がごっちゃになってるな

ページアウトされた領域に空きがあるかどうかはページインしなきゃわからないかもしれないが、そしたら他のページを探しに行くだけ

最終的にどこにも空きがなけりゃmallocがエラーを返す
空き容量が十分あっても希望するサイズの連続領域がないなんてケースは実際にもあり得る

645 名前:デフォルトの名無しさん [2021/01/25(月) 00:08:13.28 ID:U3eoM7Fp0.net]
仮想アドレスなんだから使う時まで要らないんだから、mallocは必ず成功する。
昨今のOSは全てそう実装されてる。

646 名前:デフォルトの名無しさん mailto:sage [2021/01/25(月) 00:11:52.23 ID:WuLpUwZU0.net]
オーバーブッキングを平気でするホテルみたいだな

647 名前:デフォルトの名無しさん mailto:sage [2021/01/25(月) 01:00:15.57 ID:8MmNCL2s0.net]
>>641
バカ?

648 名前:デフォルトの名無しさん [2021/01/25(月) 01:17:43.98 ID:U3eoM7Fp0.net]
iOSのreusableCellの取得も必ず成功するからforce unwrapできるし

649 名前:デフォルトの名無しさん mailto:sage [2021/01/25(月) 07:05:04.38 ID:HugL0xWrM.net]
>>641
仮想アドレスを使わないOSもあるんだが
まあ安易に「全て」とか使ってるからレス乞食なんだろうな

650 名前:デフォルトの名無しさん mailto:sage [2021/01/25(月) 08:02:50.43 ID:dmbNtT1m0.net]
>>641
勉強しろと言った本人が理解していないのが丸わかり。
使う時まで要らないのは物理メモリであってmallocの時点で仮想アドレスは割り当てなきゃならん。
もし仮想アドレスに空きがなけりゃ「とりあえず割り当てる」なんてのも無理。

651 名前:デフォルトの名無しさん mailto:sage [2021/01/25(月) 09:02:02.61 ID:+X0AlmLXK.net]
実際「mallocは常に成功する」とか根拠なく信じ込んでる奴にはシステム開発は任せられんよ
あとで痛い目みる



652 名前:デフォルトの名無しさん mailto:sage [2021/01/25(月) 10:01:03.33 ID:NuAiBZ6D0.net]
>mallocは常に成功する
Win98SEで失敗したしたことあるわ。

653 名前:デフォルトの名無しさん mailto:sage [2021/01/25(月) 10:44:35.68 ID:MIcmX8A+0.net]
 ハードがMMUで物理的に管理するメモリ上限とか、OSが管理する上限とか、論理上いつか確保出来ない状況は絶対来るの分かっているけれど、そこでエラー起こされると打つ手がない(思い付かない)から、そのまま落ちてもらう。
 俺が知らないだけで、良い回避方法とかあるのかな?

654 名前:はちみつ餃子 mailto:sage [2021/01/25(月) 11:32:21.69 ID:ktS6mGMX0.net]
>>649
・ オーバーコミット機能はオフにする
・ malloc (等) がエラーを返すかチェックを怠らない
・ 終了処理にどうしても必要なメモリは事前に確保しておいて他に使わない

655 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 07:53:24.98 ID:ZI8ZD6Xld.net]
非常用のメモリを取っとくのは
大昔から当たり前の手法だね

656 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 09:07:24.49 ID:7OslGgb50.net]
mallocを信じて生きていけばいいさと 君は叫んだだろう

657 名前:はちみつ餃子 mailto:sage [2021/01/26(火) 10:29:56.18 ID:xZCVqJnF0.net]
>>652
https://www.youtube.com/watch?v=dAs2yQUNkdU

658 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 11:06:15.63 ID:CnGywsMw0.net]
メモリ不足だと表示して終了しちゃいかんのか?

659 名前:はちみつ餃子 mailto:sage [2021/01/26(火) 11:51:32.15 ID:xZCVqJnF0.net]
>>654
それでいい状況ならそれでいいんだよ。
それじゃ駄目なときの話をしてる。

660 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 12:18:24.13 ID:nusF9BATd.net]
車を運転してたら
「メモリ不足です」と表示されてブレーキが効かなくなった

冷蔵庫が「メモリ不足です」と表示されて止まっていた

ああメモリ不足ならしょうがない
って思う人いるかな?

661 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 12:24:58.20 ID:qqWW8hOx0.net]
航空機搭載システムなんかは動的メモリ割り当て自体を禁止してるそうな
でもアルゴリズムによっては動的メモリ割り当てが本質的なこともあるだろうし
事前割り当てしたところで、自前でmymallocを実装するってだけな気はするし
ミッションクリティカルなアプリがどうやってるかはちゃんと調べないと判らんね



662 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 12:29:47.88 ID:nusF9BATd.net]
航空機なんて特別な例を出さなくても
身の回りの電気製品でソフト要因のエラーが許される物なんてなかなか無いような気がする

663 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 12:41:48.87 ID:Ab88y5Cj0.net]
>>657
オーバーフローは危険なのでスタックの使用も禁止します

664 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 12:49:59.07 ID:nusF9BATd.net]
条件を満たせは静的解析でスタック使用量はわかる
整数型はオーバーフローして危険だから禁止

665 名前:はちみつ餃子 mailto:sage [2021/01/26(火) 13:32:22.24 ID:xZCVqJnF0.net]
そういえば何の事例だったかでループも禁止 (停止性の証明が難しいので) とかいうのは聞いたことがあるな。

666 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 13:33:43.60 ID:cSn18yXwM.net]
>>659
再帰禁止とか組み込みなら珍しくないぞ

667 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 14:31:35.84 ID:46etcFxHd.net]
>>661
ループ禁止でコードを組める気がしないのだが
処理したらCPUリセットするの?

ループ以外に何か禁止な条件があるはず

668 名前:デフォルトの名無しさん mailto:sage [2021/01/26(火) 14:35:21.22 ID:46etcFxHd.net]
ヒープ禁止は普通にある
禁止というかそもそもヒープ用にメモリが無いとか
設計方針でヒープモジュールを搭載しないとか
あとは確保オンリーなヒープってのもある

PICとかだとハード的に再帰が難しいとか

669 名前:デフォルトの名無しさん [2021/01/26(火) 21:31:25.38 ID:INqgRhQd0.net]
JALの航空管制制御のプログラム作ったことあるけど、
1ルーチンコードサイズ4KBまでIBM3090アセンブラ
ループ処理などなく、また呼ばれる
可愛い平さん元気かなぁ・・

670 名前:デフォルトの名無しさん [2021/01/26(火) 21:32:25.57 ID:INqgRhQd0.net]
手塚さんとかも綺麗だったな・・おれまだ学生だったw

671 名前: mailto:sage [2021/01/26(火) 23:53:23.00 ID:uzBXnria0.net]
>>653
コード進行が凄い曲ですね‥‥ギターコードが書いている楽譜ってないですかね?



672 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 00:01:47.99 ID:fhlKtwwY0.net]
上の空で書いていたのか

673 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 07:49:16.31 ID:or8n1kaA0.net]
8/16bit時代のハードみたいに起動時にメモリサイズやエラーチェックしてワークエリアサイズ固定で設計するだけだわな。
そういやぁある記事で80286って工業用途を想定してて、エラーが発生して停止したら電源入れ直す以外に再起動できないとか言ってたな。

674 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 07:52:13.49 ID:MIG3AZ730.net]
>>665
ルーチンの呼び元はループ、もしくはループ相当の動きをしてるわけだよね

ループがなければ無限のサイズのコードじゃ無い限り動き続けるのは不可能じゃ?

675 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 07:59:19.27 ID:MIG3AZ730.net]
>>667
非常に簡単なのしか使ってないんで耳コピ簡単じゃ?

676 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 10:55:52.75 ID:9MA4/mbB0.net]
>656
>「メモリ不足です」と表示されてブレーキが効かなくなった
上級国民が大喜びな仕様だな。

メモリ不足になるような仕様を避けるのが当然で、
それでも起きるなら安全に停止できる機能を搭載するだろ。
とりあえず電源喪失状態でもブレーき利くようにするとか。


そういやぁどっかの列車で安全装置の故障で自動停車されなくて事故ったってのあって、
安全装置からの信号がONになった時にブレーキが作動するって仕様になってたのを
安全装置からの信号が来なくなったら(ずっと信号ONって不具合もかあるだろうから通信のやり取りでもあるのかな)
ブレーキ作動させるようになったって聞いたわ。

677 名前:デフォルトの名無しさん [2021/01/27(水) 11:34:46.40 ID:cJSBZXf90.net]
>>667
Monacaの田中秀和って好き?

678 名前:デフォルトの名無しさん [2021/01/27(水) 12:05:51.10 ID:isvLWJ6Q0.net]
>>656
飯塚会長なら言いそうだ

679 名前:デフォルトの名無しさん [2021/01/27(水) 12:09:55.82 ID:cJSBZXf90.net]
>>662
組み込みが再帰禁止なのは
スタック段数が少な過ぎるからじゃないんですか
>>659 と同じことを言ってるだけと思いますが

680 名前:デフォルトの名無しさん [2021/01/27(水) 12:12:51.81 ID:cJSBZXf90.net]
>>663
常にHALT+割り込みのみで書かれたものはあったはず

681 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 12:27:46.11 ID:gQSND64l0.net]
>>675
その理由もあるけどスタックの見積がやりにくいからという理由もある
>>661に類似だけど停止条件トチッたら容易にスタック食いつぶすし



682 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 13:33:58.28 ID:vpj9vmrAd.net]
>>662
貧乏マイコンは数段程度しかないから関数の中で関数呼ぶのすら危うかったりするな…
高級マイコンは16段の見たことあるが

683 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 13:57:29.31 ID:DAR3YVvc0.net]
HALTと割り込みでもいつかはどこかで最初からの繰り返しループにならない?
割り込み中でステート管理して、スタックを操作して最初に戻るとか?
出来ないマイコンもありそうだけど

684 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 14:01:16.93 ID:N60gZ7990.net]
そういう制御込みでコンパイルして吐き出してくれるなら Cの選択肢もあるだろうけど
それが期待できないとなると アセンブラしかない ってことになるのかな

685 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 17:35:31.51 ID:6jCnxoTKd.net]
>>678
PICでしょ
一番安いヤツはハードウェアスタック2段

686 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 17:36:57.11 ID:6jCnxoTKd.net]
>>679
手段は色々あっても
ループはループ
と思う

687 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 20:45:42.53 ID:gQSND64l0.net]
>>679
まあどこかでループは必要だわな
>>661はそういうループはきっちり検証して個々の処理ルーチンではループ禁止っていう話かと

688 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 23:07:06.58 ID:7vi5L3Y30.net]
初心者です
変数に&を付けてメモリのアドレスを表示させるプログラムを実行して(0x7efe61e298d8←こんな感じ?)
その後1時間とか経過して別のプログラムでメモリ「0x7efe61e298d8」に格納されたものを表示させることってできるんですかね?

689 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 23:11:59.94 ID:fhlKtwwY0.net]
OSが何かにもよるけど
一般論としては出来る。出来るが、
成功するかどうかは分からない

690 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 23:34:48.42 ID:XppLd9do0.net]
MS-DOSのTSRか

691 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 23:52:57.86 ID:7vi5L3Y30.net]
C言語というよりOS側の問題なんですね
ありがとうございます



692 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 05:11:34.57 ID:52TUUvk80.net]
>>681
それ、スタックを使って構造化プログラミングを実現した言語であるCを使う利点が一切ないような…

組み込み/マイコン向け言語でスタックを使わず構造化プログラミングを実現するにはcpsスタイルの言語がベストなはず、lisp方言schemeにはそれ向けのサブセット仕様もあるし、ホビー界隈ではそこそこ使われてる模様
(但し主なpc向け実装は、アーキテクチャに合ったスタックによるcps実装が多い、念のため)

forthも消えてしまったなあ
C換算百行未満でブートストラップ&セルフホスト処理系が書け、OS機能も兼ね、規格にあるライブラリ関数も改変無しコピペで動く移植性の良さ
c台頭までは組み込み/マイコン界隈を寡占してたんだが
ちゃんとスタック指向&構造化言語だけど、ハードウェアスタックに頼らないので相性がよい
唯一の敗因はlisp以上に深淵なことだな…

cは既に国際語になってしまったので、取り敢えず分かるcで書く、ってのがcが使われる唯一の理由だと思う

693 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 05:58:13.87 ID:pfPCg+P40.net]
動的確保なしの32ビットマイコン使って飯食ってるけど、さすがに再起は使わんが、
好きなだけ関数呼び出し深く出来るだけでも恵まれてたんだな。スタックオーバーフローは一応気にしないといかんけど。

ミッションクリティカルなコードなんてゼッテー無理だわw Adaとか使われるんだっけ?と思ったら微妙に廃れ気味なんね。よーしらんけど。

694 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 08:01:19.64 ID:Z02UUfjqK.net]
>>684
たぶん意味がない。
今時のOSでは、別々のプログラムからメモリ「0x7efe61e298d8」を参照しても同じ内容にならない。「仮想アドレス」でぐぐれ。
プログラム間で変数をやりとりしたければ、共有メモリを使う方法がある。

695 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 08:05:06.42 ID:c7JCU6ma0.net]
今時のOS,CPUだとアクセスした瞬間に例外発生する

696 名前:はちみつ餃子 mailto:sage [2021/01/28(木) 10:46:55.99 ID:vBYpvnJx0.net]
>>684
(現代的なコンピュータアーキテクチャでは) 各プロセスのアドレス空間が独立していて、
あるプロセスから見えているメモリの内容と他のプロセスから見えるそれは別物なんだよ。
他のプロセス (が持っているリソース) にアクセスしたりデバイスをコントロールするには
OS に依頼して仲介してもらうという形をとる。

プロセス間でメモリの共有をすることも可能だが、
それもあらかじめ OS に伝えて共有する実体 (物理メモリ) をそれぞれのメモリ空間にマッピングしてもらう形
なので、それを利用するプロセス同士が事前に共有に同意した状態である必要がある。

あるプロセスが自分用に割り当てられたリソース以外にはそう自由にはアクセスできないんだ。
それがセキュリティというものだよ。

697 名前:デフォルトの名無しさん [2021/01/28(木) 11:01:24.92 ID:dNWrUHbO0.net]
>>682
毎回リセットして最初から実行するのも君の説ではループの範疇だな

698 名前:デフォルトの名無しさん [2021/01/28(木) 11:03:43.19 ID:dNWrUHbO0.net]
>>690
>>692
DLL injection とかしても無理?

699 名前:はちみつ餃子 mailto:sage [2021/01/28(木) 11:57:56.44 ID:vBYpvnJx0.net]
>>694
アクセスされる側にとって (普通は) 意図しないものであるには違いないけど、
一応は OS が許可した上で各プロセスにアタッチする形なので
ひとつのプロセス内でのことになるから別のプロセスからアクセスするのとは理屈が違うんじゃないかな。

プロセスの独立性は壊れないし、権限が上位のプロセスにはアタッチできないんじゃなかったっけ?
まあときどき権限昇格の脆弱性が発見されたりはしてるけど……。

700 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 12:14:49.58 ID:eBfsAdOM0.net]
>>684
デバッガでも作りたいのか?

701 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 12:16:47.81 ID:Tpt+oTXId.net]
>>693
そうだね
ソフトによるリセットなら本質的にはソフトループと変わらない



702 名前: mailto:sage [2021/01/28(木) 19:47:55.90 ID:4gHVOrOA0.net]
>>671
クラシック系の耳にはすごく斬新に聞こえますが、世間一般的には簡単な部類に入るのですか、私は井戸の底の蛙だったんですね‥‥

703 名前: mailto:sage [2021/01/28(木) 19:50:41.53 ID:4gHVOrOA0.net]
>>686
TSR はロマンで私もキー

704 名前:入れ替えとかいろいろ凝っていた時期があったんたけど、TSR に似たプログラミングって最近はなんですか? []
[ここ壊れてます]

705 名前: mailto:sage [2021/01/28(木) 19:51:53.47 ID:4gHVOrOA0.net]
>>692
でも、i386 アーキテクチャの「コールゲート」とかは廃れてしまったんですよね…‥

706 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 20:19:09.21 ID:Sg/ycOHU0.net]
WaveToneとかの便利なソフトがあっての

707 名前: mailto:sage [2021/01/28(木) 22:08:52.27 ID:4gHVOrOA0.net]
>>701
そのソフトは大昔(win95 の時代)にも開発してくださっていた方がいて便利に浸かっていました‥‥
----------------------------------------------------------------------------
【ソフト名】 TonagramView for Win95 Ver.0.3β
【 作成者 】 Zephyr <NCC00723@niftyserve.or.jp>
【登 録 名】 SHIINE03.LZH
【圧縮形式】 LHa 2.55b
【動作環境】 Windows 95
【転  載】 事前の許可が必要
【掲載月日】 1997/08/30
----------------------------------------------------------------------------

このプログラムは、WAVファイルを周波数解析してtonagram(ピアノロールのような
グラフ)を表示するツールです。

耳コピをしていると、どうしてもコードが採れなくて泣きたくなることがよくあり
ます。そんなときは、tonagramを調べれば、鳴ってる音を目で見ることができるの
で、適当にピックアップしてやれば楽にコードを拾えます。v(^^)

今回、GUI化によりリードアウトカーソルなどの機能が強化されています。
また、解析結果のロード・セーブが可能になりましたので、結果をセーブしておけ
ば解析にかかる時間を節約することができます。

★Ver.0.2βからの改良点
・待望(?)のGUI化
  ロード・セーブ・印刷
  リードアウトカーソル 等
・ピークサーチアルゴリズムの変更(精度より見た目を重視)

NCC00723 Zephyr

708 名前:デフォルトの名無しさん mailto:sage [2021/01/29(金) 00:08:49.78 ID:BmYQVI6m0.net]
>>698
斬新に聞こえるかどうかはともかく
コード自体は非常に簡単

ちなみに私もクラシック系

709 名前:デフォルトの名無しさん [2021/01/30(土) 12:01:56.26 ID:EWZvTk3zF.net]
>>702
404

710 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 19:33:07.61 ID:jQyDM6Cn0.net]
enum A
{
max_value = 0x7fffffffffffffffLL;
};

こんなことしても64bitのenumはつくれないんだっけ?

711 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 00:52:02.23 ID:5yr9aQzL0.net]
整数型ならいいらしいから、64bitになるコンパイラがあっても規格違反ではないと思う



712 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 01:29:58.21 ID:OjiuyGRS0.net]
infinity 定義されてるだろ?

713 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 07:03:50.51 ID:v6ebtUL10.net]
整数型に?

714 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 07:51:42.98 ID:9cKOvUYE0.net]
>>706
処理系依存しないで確実に64bit以上にする方法ってないんだっけ。
ベース型の指定はC++だよなあ。

715 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 08:04:18.96 ID:SoQHgLGL0.net]
64bit整数型がない環境があるんだから
確実に64bit以上なんて無理

716 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 08:15:50.49 ID:v6ebtUL10.net]
sizeof max_value
gcc, clang: 8
cl: 4

717 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 08:27:26.16 ID:9cKOvUYE0.net]
>>710
じゃあ「64bit整数が使える環境で」って条件だとどうだろう?

718 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 09:03:50.04 ID:5yr9aQzL0.net]
Cのenumはマクロと大して変わらんのだから、マクロで代用するとか

719 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 09:11:58.71 ID:v6ebtUL10.net]
マクロに代わるべく作られたenumがマクロで代用されるとは
無様な・・・

720 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 09:18:04.19 ID:v6ebtUL10.net]
6.7.2.2 Enumeration specifiers
3 The identifiers in an enumerator list are declared as constants that have type int and may appear wherever such are permitted.

6.7.2.2 列挙型指定子
意味規則 列挙子並びの中の識別子は,型int をもつ定数として宣言され,この型の定数が許されるところならばどこに現れてもよい。

はっきり、intと書いてあるね
long longになる余地は全くない

721 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 11:57:56.06 ID:vkxM9MCda.net]
intとlong longが同一の可能性は残る
まぁ普通ではないが

素直にC++でenum classにするのがいいのでは



722 名前:デフォルトの名無しさん [2021/02/01(月) 14:28:14.54 ID:fos4FOVOF.net]
enum と enum class って紛らわしいよね

723 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 17:41:32.38 ID:v6ebtUL10.net]
enum classは関係ない
enum-baseだ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<265KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef