!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://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
探検
C言語なら俺に聞け 156
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9bb7-/QqT)
2020/09/28(月) 14:41:30.00ID:QxfbhGyV0414デフォルトの名無しさん (ワッチョイ 4963-Zovn)
2021/01/04(月) 00:29:40.79ID:NWAwlt7F0 実行してみないと使えるか分からないとなると
医療関係では使用禁止になるな
医療関係では使用禁止になるな
415デフォルトの名無しさん (ワッチョイ 8101-UAPS)
2021/01/04(月) 01:03:06.31ID:PMQqdXD/0 validation 通らないだろうねぇ
416デフォルトの名無しさん (ワッチョイ 4201-Nu5h)
2021/01/04(月) 07:24:09.81ID:Nz2iXOdN0417デフォルトの名無しさん (ワッチョイ dd5f-Jh9r)
2021/01/05(火) 12:05:40.60ID:G8BimKKu0 宇宙関係も無理やろね
418デフォルトの名無しさん (スップ Sdc2-CHd6)
2021/01/05(火) 12:12:18.79ID:8w5sr2J0d 失敗が絶対に許されないならmallocとか使うな
スタティックで確保しろ
スタティックで確保しろ
419デフォルトの名無しさん (ワッチョイ 9244-Iopg)
2021/01/05(火) 13:27:41.97ID:zIEcR2TW0 一つのファイルポインタで読み書きする場合、読みと書きを切り替えるときに
fseek(fp,0,SEEK_CUR)等を挟むことはANSI Cにも書いてるわけですが、
挟まなくていい環境(Linuxとか)もありその実装上の違いってどうなってるんでしょうか?
バッファゼロにしてもfseekが必要なので、バッファリングってわけでもなさそうです。
fseek(fp,0,SEEK_CUR)等を挟むことはANSI Cにも書いてるわけですが、
挟まなくていい環境(Linuxとか)もありその実装上の違いってどうなってるんでしょうか?
バッファゼロにしてもfseekが必要なので、バッファリングってわけでもなさそうです。
420デフォルトの名無しさん (ワッチョイ c2a5-dZT0)
2021/01/05(火) 13:36:43.08ID:sz7Oy+6E0 https://github.com/gcc-mirror/gcc
ここからwindowsのfseekとlinuxのfseekを見つけ出す
ここからwindowsのfseekとlinuxのfseekを見つけ出す
421はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 063e-UAPS)
2021/01/05(火) 14:23:40.55ID:N7gEH2Zs0 C の規格では OS とかの支援のない 「フリースタンディング」な環境にも言及していて、
フリースタンディング処理系は標準ヘッダ
float.h
iso646.h
limits.h
stdarg.h
stdbool.h
stddef.h
stdint.h
の内容に限定した機能が用意されてればよいことになってる。
malloc は stdlib.h だから無くても規格合致フリースタンディング処理系と名乗れる。
フリースタンディング処理系は標準ヘッダ
float.h
iso646.h
limits.h
stdarg.h
stdbool.h
stddef.h
stdint.h
の内容に限定した機能が用意されてればよいことになってる。
malloc は stdlib.h だから無くても規格合致フリースタンディング処理系と名乗れる。
422デフォルトの名無しさん (スップ Sdc2-yv5R)
2021/01/05(火) 16:33:30.17ID:9HicEvTUd >>413
あり得ない
malloc()で==NULLテストして「メモリーが足りません終了します」とかする事はできるが
確保した変数に読み書きした瞬間のエラーは感知する方法がないので
そこでエラーにされてもコアダンプして終了するしかない
ユーザー側から見たら未完成プログラムである
あり得ない
malloc()で==NULLテストして「メモリーが足りません終了します」とかする事はできるが
確保した変数に読み書きした瞬間のエラーは感知する方法がないので
そこでエラーにされてもコアダンプして終了するしかない
ユーザー側から見たら未完成プログラムである
423デフォルトの名無しさん (スプッッ Sd61-CHd6)
2021/01/05(火) 16:45:24.18ID:7nbNqUCud ユーザーからしたら
エラーメッセージを出そうが突然死だろうが
メモリが足りなくなる事自体不完全プログラムだ
エアバッグが作動するときに、
[メモリ不足で動作できませんでした]
なんて表示されても何の意味もない
エラーメッセージを出そうが突然死だろうが
メモリが足りなくなる事自体不完全プログラムだ
エアバッグが作動するときに、
[メモリ不足で動作できませんでした]
なんて表示されても何の意味もない
424はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 063e-UAPS)
2021/01/05(火) 16:47:22.16ID:N7gEH2Zs0 >>422
やっとる (環境も多い) やろがい。
やっとる (環境も多い) やろがい。
425デフォルトの名無しさん (スップ Sdc2-yv5R)
2021/01/05(火) 17:03:07.78ID:9HicEvTUd >>423
それなら「エアバッグの数が多すぎるんだな」とか推論できるが
なんのメッセージもなく作動しなかったらユーザーはスピードメーター、ショックセンサー、安全装置などあらゆる関連部分を点検しなければならない
それなら「エアバッグの数が多すぎるんだな」とか推論できるが
なんのメッセージもなく作動しなかったらユーザーはスピードメーター、ショックセンサー、安全装置などあらゆる関連部分を点検しなければならない
426デフォルトの名無しさん (ワッチョイ 3152-CHd6)
2021/01/05(火) 18:07:14.87ID:dzUtU5Ds0 そんな事はユーザーからすればどうでもいい
不完全な事にはかわりない
不完全な事にはかわりない
427デフォルトの名無しさん (スップ Sdc2-yv5R)
2021/01/05(火) 18:09:46.84ID:9HicEvTUd ソフト作ったことない人だねw
メッセージの有無はバグが起きたときの対処に大きな違いがある
メッセージの有無はバグが起きたときの対処に大きな違いがある
428デフォルトの名無しさん (ワッチョイ 3152-CHd6)
2021/01/05(火) 18:13:12.71ID:dzUtU5Ds0 メッセージの有無なんかよりも
動作するかどうか
の方がはるかに重要
メモリ確保が失敗する可能性があるところで
失敗が許されない動作に対してmallocを使うのが間違い
動作するかどうか
の方がはるかに重要
メモリ確保が失敗する可能性があるところで
失敗が許されない動作に対してmallocを使うのが間違い
429デフォルトの名無しさん (ワッチョイ 3152-CHd6)
2021/01/05(火) 18:15:35.99ID:dzUtU5Ds0 適切なエラー処理をすればそれで十分
ソフト設計者のしたっぱの発想
ソフト設計者のしたっぱの発想
430デフォルトの名無しさん (ワッチョイ 468c-qdLU)
2021/01/05(火) 18:35:11.65ID:zMZuOoIk0 >>423
読む人がいないならメッセージも無意味.
読む人がいないならメッセージも無意味.
431デフォルトの名無しさん (ワッチョイ 4963-Zovn)
2021/01/05(火) 18:47:10.76ID:oFYQTpSv0 確保できないと返ってくれば対処方法はあるだろう
OK返されたあと、実際に使おうとしたら実はってなると
その分リカバリーが複雑になる
OK返されたあと、実際に使おうとしたら実はってなると
その分リカバリーが複雑になる
432デフォルトの名無しさん (ワッチョイ 4201-Nu5h)
2021/01/05(火) 19:00:03.87ID:K71kt7oj0 ここの人はOOM Killerも知らんのか?
確保したプロセスが死ぬとは限らんのだが…
https://reboooot.net/post/kernel-params-related-to-oom-killer/
確保したプロセスが死ぬとは限らんのだが…
https://reboooot.net/post/kernel-params-related-to-oom-killer/
433デフォルトの名無しさん (ワッチョイ 814f-Iopg)
2021/01/05(火) 19:39:22.64ID:eT+iPfAP0 確保しようとしてエラーになったなら対処のしようもあるが、空手形乱発していざとなったら
関係ないプロセスが殺されるってのも困ったもんだよな。
初期のOSXはOOM Killerのような仕組みもなくてシステム全体が固まってたな。
関係ないプロセスが殺されるってのも困ったもんだよな。
初期のOSXはOOM Killerのような仕組みもなくてシステム全体が固まってたな。
434デフォルトの名無しさん (ワッチョイ 3152-CHd6)
2021/01/05(火) 19:58:11.78ID:dzUtU5Ds0435デフォルトの名無しさん (ワッチョイ 8101-UAPS)
2021/01/05(火) 20:01:22.72ID:8cFKE+AV0 お行儀よく死ぬ機構があるかどうか
436デフォルトの名無しさん (スップ Sdc2-yv5R)
2021/01/05(火) 21:50:05.77ID:9HicEvTUd437デフォルトの名無しさん (ワッチョイ 4201-Nu5h)
2021/01/05(火) 22:27:33.74ID:K71kt7oj0438デフォルトの名無しさん (ワッチョイ 2e2c-qBFf)
2021/01/05(火) 23:58:57.29ID:zD1ciQHW0 OOM Killer は、Kubernetes のリソース制限の基本。
Linux のnamespace, cgroup
例外は、
アプリ例外は業務上のエラーだから、アプリで処理すべき。
システム障害などは、アプリで処理できる例外ではない
Linux のnamespace, cgroup
例外は、
アプリ例外は業務上のエラーだから、アプリで処理すべき。
システム障害などは、アプリで処理できる例外ではない
439デフォルトの名無しさん (ワッチョイ 06e9-Zovn)
2021/01/06(水) 00:01:25.01ID:WT+BV7/+0 その分類上、メモリ確保失敗はアプリで処理すべきなのかどうかわかんなくない?
440デフォルトの名無しさん (ワッチョイ 4963-Zovn)
2021/01/06(水) 00:46:50.28ID:g4fxgipO0 mallocに失敗したらローカルで確保してみる
それが駄目なら一時ファイル作ってそこに格納する
他にも手はありそうだ
それが駄目なら一時ファイル作ってそこに格納する
他にも手はありそうだ
441デフォルトの名無しさん (ワッチョイ d2bd-fVX1)
2021/01/06(水) 01:23:26.66ID:8o6ePSWp0 >>440
ねーよ間抜け
ねーよ間抜け
442デフォルトの名無しさん (スップ Sdc2-yv5R)
2021/01/06(水) 03:55:31.45ID:Sqdcyjlhd443デフォルトの名無しさん (ワッチョイ 4201-Nu5h)
2021/01/06(水) 05:25:17.33ID:kVhO/tYW0444デフォルトの名無しさん (ワッチョイ 4201-Nu5h)
2021/01/06(水) 05:28:43.74ID:kVhO/tYW0445デフォルトの名無しさん (アウアウクー MMb1-Unlw)
2021/01/06(水) 07:24:13.29ID:bGGeDo6wM アプリケーション開発しかやったことないのでシビアな状況のプログラムってのがよくわかってないけど
通常のプログラムだったらNULLが帰ってきたら終了だろうね
失敗が許されない環境で、もしメモリを使い果たして確保できないような状況の場合は失敗が許されないのにメモリを使い果たすようなプログラム自身を改善した方が良いような
ファイルから必要なデータだけを読み込むようにして使い終わったメモリは開放するとか
メモリを使い果たして無いのに失敗する可能性とかだったら、標準関数の正常な役割が信用できないという事になるのでプログラム言語自体使えなくなるよね
C/C++だけじゃなくて
それならアセンブラで直接書くしか無くなるのでは
この場合だったら「たらーれば」の言いがかりにしか聞こえないけど
通常のプログラムだったらNULLが帰ってきたら終了だろうね
失敗が許されない環境で、もしメモリを使い果たして確保できないような状況の場合は失敗が許されないのにメモリを使い果たすようなプログラム自身を改善した方が良いような
ファイルから必要なデータだけを読み込むようにして使い終わったメモリは開放するとか
メモリを使い果たして無いのに失敗する可能性とかだったら、標準関数の正常な役割が信用できないという事になるのでプログラム言語自体使えなくなるよね
C/C++だけじゃなくて
それならアセンブラで直接書くしか無くなるのでは
この場合だったら「たらーれば」の言いがかりにしか聞こえないけど
446はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 063e-UAPS)
2021/01/06(水) 09:52:33.41ID:NVCaEro60 そこんところはホスト環境・開発システムがどこまで保証するかという話になるので、
各環境で十分な保証があるなら使えばいいし、保証がないなら使えないというだけのことでは。
私も実態を知ってるわけじゃないが組み込み開発だったら
実際には保証というか自分たちで検証することも多いと思うが。
各環境で十分な保証があるなら使えばいいし、保証がないなら使えないというだけのことでは。
私も実態を知ってるわけじゃないが組み込み開発だったら
実際には保証というか自分たちで検証することも多いと思うが。
447デフォルトの名無しさん (スッップ Sd62-yv5R)
2021/01/06(水) 15:10:46.82ID:6EEBy3Y5d Linux系にはヒープの上限を設定できないの?
よくある入門書にはnewで敵キャラでもエフェクトでも作って動かしましょうみたいなのがよくあるが
それやって消すのを忘れると一日動かしてるとかなりの容量になり突然システムが止まる
懐かしいシングルタスクOSの時代と変わらんw
Win16や32だとローカルヒープは上限があって一杯になってもアプリが止まるだけでシステムは続行できた
よくある入門書にはnewで敵キャラでもエフェクトでも作って動かしましょうみたいなのがよくあるが
それやって消すのを忘れると一日動かしてるとかなりの容量になり突然システムが止まる
懐かしいシングルタスクOSの時代と変わらんw
Win16や32だとローカルヒープは上限があって一杯になってもアプリが止まるだけでシステムは続行できた
448デフォルトの名無しさん (ワッチョイ 4201-Nu5h)
2021/01/06(水) 15:49:09.66ID:kVhO/tYW0 >>447
> Win16や32だとローカルヒープは上限があって一杯になってもアプリが止まるだけでシステムは続行できた
それはプロセス単位の制限だろ、man ulimit でググってこい
OOM Killerとかはシステム全体の話な
> Win16や32だとローカルヒープは上限があって一杯になってもアプリが止まるだけでシステムは続行できた
それはプロセス単位の制限だろ、man ulimit でググってこい
OOM Killerとかはシステム全体の話な
449デフォルトの名無しさん (スプッッ Sd61-CHd6)
2021/01/06(水) 16:05:04.01ID:QohpZ5Jnd450はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 063e-UAPS)
2021/01/06(水) 17:27:30.00ID:NVCaEro60 >>449
ロジック部分を C で書くことはもうあまりないかもしれんが、
低レイヤや速度チューニングがなくなるわけではないからなぁ。
コードの総量に C が占める割合は少ないにしても
C が (一部には) 使われているものはまだまだあるんじゃね?
ロジック部分を C で書くことはもうあまりないかもしれんが、
低レイヤや速度チューニングがなくなるわけではないからなぁ。
コードの総量に C が占める割合は少ないにしても
C が (一部には) 使われているものはまだまだあるんじゃね?
451デフォルトの名無しさん (スプッッ Sd61-CHd6)
2021/01/06(水) 17:33:29.06ID:QohpZ5Jnd アプリの速度チューンならC++で良いと思うんだが
なぜC?
なぜC?
452デフォルトの名無しさん (ドコグロ MM75-fVX1)
2021/01/06(水) 18:33:49.31ID:m3At07SYM >>447
ulimit -d でできるぽいね
ulimit -d でできるぽいね
453デフォルトの名無しさん (ワッチョイ 4201-Nu5h)
2021/01/06(水) 18:53:37.18ID:kVhO/tYW0454デフォルトの名無しさん (ワッチョイ 3152-CHd6)
2021/01/06(水) 19:00:16.49ID:A7AJXFBH0 カーネルがmallocで失敗???
システムごと死ぬだろ
システムごと死ぬだろ
455デフォルトの名無しさん (スッップ Sd62-yv5R)
2021/01/06(水) 20:05:41.96ID:6EEBy3Y5d456デフォルトの名無しさん (ワッチョイ 4201-Nu5h)
2021/01/06(水) 20:50:30.31ID:kVhO/tYW0 >>455
> だからアホなアプリ一個でシステムが止まるなんて前世紀の話か?と聞いてるんだよね
だから OOM Killer でググってこいよ
システムを止めるかどうかは設定によるし、Windows でもメモリー逼迫したら不安定になるから
> シェルコマンドじゃなくて
https://linuxjm.osdn.jp/html/LDP_man-pages/man2/setrlimit.2.html
そもそもシェルから設定できるのにプログラムから設定できないわけ無いだろ
プログラマーの素養なさ過ぎ
> だからアホなアプリ一個でシステムが止まるなんて前世紀の話か?と聞いてるんだよね
だから OOM Killer でググってこいよ
システムを止めるかどうかは設定によるし、Windows でもメモリー逼迫したら不安定になるから
> シェルコマンドじゃなくて
https://linuxjm.osdn.jp/html/LDP_man-pages/man2/setrlimit.2.html
そもそもシェルから設定できるのにプログラムから設定できないわけ無いだろ
プログラマーの素養なさ過ぎ
457デフォルトの名無しさん (スッップ Sd62-CHd6)
2021/01/06(水) 20:52:54.12ID:3ZsNazx6d C言語なんだから無条件でPC前提にするのやめようぜ
458デフォルトの名無しさん (スッップ Sd62-CHd6)
2021/01/06(水) 20:58:31.92ID:3ZsNazx6d Windowsでも
プロセスとスレッドのプライオリティを上げて
メモリを大量に使えば
スワップしまくって激重になって
事実上システムが死ぬけどね
プロセスとスレッドのプライオリティを上げて
メモリを大量に使えば
スワップしまくって激重になって
事実上システムが死ぬけどね
459デフォルトの名無しさん (スッップ Sd62-CHd6)
2021/01/06(水) 20:59:44.32ID:3ZsNazx6d アプリ1個でシステムダウンさせるのはそれほど難しくない
>>459
さすがにそれは不可能では?win3.1 ならまだわかるのですが‥‥
さすがにそれは不可能では?win3.1 ならまだわかるのですが‥‥
461デフォルトの名無しさん (スッップ Sd62-CHd6)
2021/01/06(水) 21:12:39.72ID:3ZsNazx6d プライオリティの高いスレッドをたくさん作って無限ループすれば死ぬ
462デフォルトの名無しさん (スッップ Sd62-CHd6)
2021/01/06(水) 21:17:12.89ID:3ZsNazx6d プライオリティ31のスレッドを論理コア数分作ればマウスカーソルも止まる
463デフォルトの名無しさん (ワッチョイ 814f-Iopg)
2021/01/06(水) 22:06:17.54ID:FKs+KUNY0 間違えてforkしまくるスクリプト実行してしまって何もできなくなった
464デフォルトの名無しさん (スッップ Sd62-yv5R)
2021/01/06(水) 22:06:21.76ID:6EEBy3Y5d いや別に知恵を絞って無理に止める話はしてないじゃんw
うっかりミス程度で止まったらおそろしいなあ気楽にプログラミングもできないなあって話
うっかりミス程度で止まったらおそろしいなあ気楽にプログラミングもできないなあって話
465デフォルトの名無しさん (ワッチョイ 4963-Zovn)
2021/01/06(水) 22:38:40.29ID:g4fxgipO0 うっかりシステムをフォーマットしてしまうこともあるしな
466デフォルトの名無しさん (ワッチョイ 3152-CHd6)
2021/01/07(木) 00:44:03.16ID:Vx7SD3qO0 うっかりプライオリティの高いスレッドをいっぱい作っちゃった場合の話
467デフォルトの名無しさん (ワッチョイ d2bd-fVX1)
2021/01/07(木) 02:16:41.45ID:yeIMGQh50 何の話してたか忘れた
468デフォルトの名無しさん (ワッチョイ c2ab-UAPS)
2021/01/07(木) 15:11:57.86ID:9QJGSme00 mallocを使っていても総使用量の最大は見積もっとけって話
469デフォルトの名無しさん (スップ Sd62-CHd6)
2021/01/07(木) 16:20:03.10ID:DL1zbij8d 総使用量に対してメモリが十分あっても
フラグメントで確保出来ないかもしれない
フラグメントで確保出来ないかもしれない
470デフォルトの名無しさん (ワッチョイ e569-Fu3+)
2021/01/07(木) 17:22:12.04ID:6v7F/BUW0 malloc をラップして
オレオレアローケーターで一括で確保して使いまわそうとすると
malloc の実装とほとんど変わらんよな?って気分になる
オレオレアローケーターで一括で確保して使いまわそうとすると
malloc の実装とほとんど変わらんよな?って気分になる
471デフォルトの名無しさん (スップ Sd62-CHd6)
2021/01/07(木) 17:32:32.97ID:DL1zbij8d 固定長が多ければ専用化の価値が大きい
472デフォルトの名無しさん (ワッチョイ c2ab-UAPS)
2021/01/07(木) 17:50:56.57ID:9QJGSme00473デフォルトの名無しさん (ワッチョイ 8101-UAPS)
2021/01/07(木) 19:23:46.37ID:jTCzKEfy0 とあるスコープ内だけで有効なヒープで、さらにスコープから抜けると開放したい
という用途でがんばった
という用途でがんばった
474デフォルトの名無しさん (ワッチョイ 9244-Iopg)
2021/01/07(木) 20:07:04.52ID:b6arBunA0 何十日何百日稼働するソフトならそれなりに効いてきそうだけど<フラグメント
>>473
alloca()
alloca()
476デフォルトの名無しさん (ワッチョイ 8101-UAPS)
2021/01/07(木) 20:19:01.01ID:jTCzKEfy0 >>475
ほしかったがなかったのだ
ほしかったがなかったのだ
>>476
C にはデストラクタがないから、C の範囲で実現するのは困難ですね
alloca() の実装は、ライブラリだけでは処理できずにコンパイラ側の支援が必要だと思いますので、標準ライブラリには入りにくいでしょうね
C にはデストラクタがないから、C の範囲で実現するのは困難ですね
alloca() の実装は、ライブラリだけでは処理できずにコンパイラ側の支援が必要だと思いますので、標準ライブラリには入りにくいでしょうね
478デフォルトの名無しさん (ワッチョイ 8101-UAPS)
2021/01/07(木) 21:43:59.65ID:jTCzKEfy0479デフォルトの名無しさん (ワッチョイ df52-bb/z)
2021/01/08(金) 00:02:52.02ID:RWydUoCr0 >>472
フラグメントで確保出来ない事があったわけだけど
フラグメントで確保出来ない事があったわけだけど
480デフォルトの名無しさん (ワッチョイ 7f85-vS+x)
2021/01/08(金) 00:51:10.08ID:aEO+ezsE0 使ってるアロケータの実装が何なのか, とどう使っているか示さないと何の意味もない
K&R mallocに毛が生えた程度のmalloc (Tronとか)ならものすごい勢いで断片化するし
glibc mallocとかのbest fitアロケータを使う分には断片化はかなり起こりにくい
あとメモリリークじゃないことは間違いないんだよね?
K&R mallocに毛が生えた程度のmalloc (Tronとか)ならものすごい勢いで断片化するし
glibc mallocとかのbest fitアロケータを使う分には断片化はかなり起こりにくい
あとメモリリークじゃないことは間違いないんだよね?
481デフォルトの名無しさん (ワッチョイ 7fab-lB9F)
2021/01/08(金) 05:16:18.16ID:gKD5AY0L0482デフォルトの名無しさん (スップ Sd1f-bb/z)
2021/01/08(金) 08:53:26.45ID:/42fFLGad C言語スレなのに組み込みやったことないヤツばっかりってのが不思議
>>480
アロケータの実装次第で断片化がおこる
と自分で書いてるわけだ
それが答え
どんな優れたアルゴリズムでも
断片化はおこるんだけど
完全に未来が予測出来る神アルゴリズムでも
>>480
アロケータの実装次第で断片化がおこる
と自分で書いてるわけだ
それが答え
どんな優れたアルゴリズムでも
断片化はおこるんだけど
完全に未来が予測出来る神アルゴリズムでも
483デフォルトの名無しさん (スッップ Sd9f-Vags)
2021/01/08(金) 09:11:57.78ID:yPaAOWPid Go/C/C++以外に直接システムコールしてる言語ってありますか?
484デフォルトの名無しさん (スップ Sd1f-bb/z)
2021/01/08(金) 09:18:29.89ID:/42fFLGad アセンブラ
485デフォルトの名無しさん (ブーイモ MM03-CNJK)
2021/01/08(金) 09:37:02.14ID:MUX0m4u5M c/c++もアセンブラ使わないとシステムコール呼べないけどな
486デフォルトの名無しさん (ワッチョイ df63-Cwx9)
2021/01/08(金) 12:03:05.57ID:lqJPJl/10 CALL 5 が使える言語は全部大丈夫
487デフォルトの名無しさん (ブーイモ MM03-CNJK)
2021/01/08(金) 12:52:43.97ID:0DW9z0rLM >>486
call 5って何のこと?
call 5って何のこと?
488はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff3e-lB9F)
2021/01/08(金) 14:24:17.01ID:PuoTeu6a0489デフォルトの名無しさん (ワッチョイ 7f44-5z1F)
2021/01/08(金) 14:34:20.89ID:NkKDsd1u0 CALL 5ってシステムコール一般の事を指してるのかな?
CALL 5はCP/Mから引き継いだMS-DOSのファンクションコールか
ふつうMS-DOSはINT 21Hって内部割り込みつかってたけどCALL 5もできたそうな
CALL 5はCP/Mから引き継いだMS-DOSのファンクションコールか
ふつうMS-DOSはINT 21Hって内部割り込みつかってたけどCALL 5もできたそうな
490デフォルトの名無しさん (スップ Sd1f-bb/z)
2021/01/08(金) 15:15:28.39ID:/42fFLGad 直接システムコール
の定義によってはどの言語でも出来るし
定義によってはどの言語でも出来ない
質問者は定義を明確に
の定義によってはどの言語でも出来るし
定義によってはどの言語でも出来ない
質問者は定義を明確に
>>488
でも VLA は C++ では非推奨でしょう?
というか C であっても VLA の格納位置がスタックなら、それこそ悪意を持つクラッカに格好の餌をやっているとしか思えません‥
C99 or later では「VLA の確保場所をスタック禁止でヒープとする」という縛りはあるのでしょうか?
でも VLA は C++ では非推奨でしょう?
というか C であっても VLA の格納位置がスタックなら、それこそ悪意を持つクラッカに格好の餌をやっているとしか思えません‥
C99 or later では「VLA の確保場所をスタック禁止でヒープとする」という縛りはあるのでしょうか?
>>491,448,477
いろいろ調べたところ、私が間違っていることがわかりました、つまり alloca() はスタックに配列を確保する実装とのことだそうです
つまり alloca() は setjmp/longjmp と同じ「C で記述できない」関数ということになりますね‥‥
いろいろ調べたところ、私が間違っていることがわかりました、つまり alloca() はスタックに配列を確保する実装とのことだそうです
つまり alloca() は setjmp/longjmp と同じ「C で記述できない」関数ということになりますね‥‥
493デフォルトの名無しさん (ワッチョイ 7fab-lB9F)
2021/01/08(金) 22:26:35.55ID:gKD5AY0L0 だからこそ標準に組み入れられているんだよ
非標準でどうしろと言うのか考えろ
非標準でどうしろと言うのか考えろ
494デフォルトの名無しさん (ワッチョイ 7fab-lB9F)
2021/01/09(土) 13:37:23.88ID:lvRTpcj70 アセンブラで作ったサブルーチンをそうとは知らずに呼べるのはCの良いところ
495デフォルトの名無しさん (スップ Sd1f-bb/z)
2021/01/09(土) 14:13:13.77ID:wanRtpand それだけならC++でも
496デフォルトの名無しさん (ワッチョイ df4f-5z1F)
2021/01/09(土) 16:16:23.92ID:fHVxD+CU0 知らずに呼べるって、それアセンブラ側でC呼び出し規約で書いてあげたからじゃね。
497デフォルトの名無しさん (ワッチョイ 7fab-lB9F)
2021/01/09(土) 16:42:31.78ID:lvRTpcj70 ABIちゅーもんがあってだな
498デフォルトの名無しさん (ワッチョイ df4f-5z1F)
2021/01/09(土) 17:00:45.39ID:fHVxD+CU0 だからそう言ってる。Pascal規約で書けばPascalから呼べたり。
499デフォルトの名無しさん (ワッチョイ df52-bb/z)
2021/01/09(土) 17:08:25.76ID:L3ZBilIB0 フルアセンブラなら
パラメーターの渡し方は自由
独自のスタック構造だろうが
レジスタだろうが
臨機応変に出来る
今時フルアセンブラなんて事は非常に稀で
C/C++の呼び出し規約に従うのが普通
というだけ
パラメーターの渡し方は自由
独自のスタック構造だろうが
レジスタだろうが
臨機応変に出来る
今時フルアセンブラなんて事は非常に稀で
C/C++の呼び出し規約に従うのが普通
というだけ
500デフォルトの名無しさん (ワッチョイ df52-bb/z)
2021/01/09(土) 17:10:33.54ID:L3ZBilIB0 今でも超小規模マイコンだと関数コールの構造をとらないフルアセンブラコードを使う事がある
501デフォルトの名無しさん (ワッチョイ 7fab-lB9F)
2021/01/09(土) 17:52:11.58ID:lvRTpcj70 __declspec(naked)とか__attribute__((naked))とか
502デフォルトの名無しさん (ワッチョイ df4f-5z1F)
2021/01/09(土) 18:48:02.08ID:fHVxD+CU0 それexternで宣言できないから、アセンブラで書いたルーチンを呼ぶためのものじゃなくて
従来アセンブラを使わないと書けなかったルーチンをCのインラインアセンブラで書くためのものじゃね?
従来アセンブラを使わないと書けなかったルーチンをCのインラインアセンブラで書くためのものじゃね?
503デフォルトの名無しさん (ワッチョイ 7f40-Cbw0)
2021/01/09(土) 19:47:19.13ID:gjIQ6YZR0 純粋なC言語プロジェクトとして作るより
C++プロジェクトとして作ってCコードを書いた方が
利用可能なライブラリが増えるしほぼ上位互換、という考えは合ってる?
C++プロジェクトとして作ってCコードを書いた方が
利用可能なライブラリが増えるしほぼ上位互換、という考えは合ってる?
504デフォルトの名無しさん (ワッチョイ df63-Cwx9)
2021/01/09(土) 19:51:04.00ID:Z+DmrKyh0 >>503
それ多分C++コードだと思う
それ多分C++コードだと思う
505デフォルトの名無しさん (ワッチョイ 7f01-uXjq)
2021/01/09(土) 20:16:57.05ID:kPw1IBO30 >>494
それができない言語の方が珍しいと思うけど?
それができない言語の方が珍しいと思うけど?
506デフォルトの名無しさん (ワッチョイ df01-lB9F)
2021/01/09(土) 20:17:11.62ID:OS8QkCVT0 C++のベターC的な使い方であってpureなCとうまく連結できるかというと…
507デフォルトの名無しさん (ワッチョイ 7f01-uXjq)
2021/01/09(土) 20:18:36.46ID:kPw1IBO30 >>503
合ってる、いわゆるベターCって奴
合ってる、いわゆるベターCって奴
508デフォルトの名無しさん (ワッチョイ 7fab-lB9F)
2021/01/09(土) 21:18:21.63ID:lvRTpcj70 DLLなんかどこの馬の骨言語/コンパイラ/アセンブラで作られたかもわからんものを当たり前に使えるだろ
509デフォルトの名無しさん (ワッチョイ df52-bb/z)
2021/01/09(土) 22:58:21.36ID:L3ZBilIB0 それはDLLで呼べるように作ってあるからであって
510デフォルトの名無しさん (ワッチョイ df52-bb/z)
2021/01/09(土) 23:00:18.51ID:L3ZBilIB0 別にCの特徴でもない
511デフォルトの名無しさん (ワッチョイ 7f01-uXjq)
2021/01/09(土) 23:45:25.11ID:kPw1IBO30 大抵の言語はDLLを呼び出す側になれるけど、呼ばれる側になれる言語はそんなにない
512デフォルトの名無しさん (ワッチョイ 7fab-lB9F)
2021/01/09(土) 23:52:15.63ID:lvRTpcj70 普通にCでDLL書くぞ
513デフォルトの名無しさん (ワッチョイ ff8c-Ip2P)
2021/01/10(日) 16:59:27.49ID:97ZwT7Zl0 言語はOSに依存している。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国とロシアの爆撃機、日本周辺で共同飛行 [少考さん★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 防衛省、中国を完全論破www 「事前通告があったのは海自であって空自ではない」 高市早苗勝利 [175344491]
- 高市早苗さん、もう自決でしか許されないレベルになる [402859164]
- 【悲報】JA「全然米が売れなくて倉庫を圧迫してる。助けて!」米卸売り業者「安売りしたら赤字になる…助けて!」 [802034645]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★4 [597533159]
- 韓国政府、高市早苗の「竹島領土」発言にブチギレwwwwwwwwwwwwwwww [834922174]
- おなかすいた…誰か助けて
