!extend:checked:vvvvv:1000:512
↑
次スレを作る時は上記1行をコピーして2行に増やして必ず1行目に入るようにしてください。
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言語なら俺に聞け 148
https://mevius.5ch.net/test/read.cgi/tech/1537347410/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
C言語なら俺に聞け 149
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ af9f-7TBo)
2018/10/28(日) 22:01:44.38ID:D9Gt7gmT0712デフォルトの名無しさん (ブーイモ MM43-6EUo)
2018/12/22(土) 07:52:56.06ID:gJp1vt+rM Linusがcppを排したのは正解だったんだな
713デフォルトの名無しさん (ワッチョイ 03eb-549A)
2018/12/22(土) 08:27:41.36ID:LEZtop+80 低学歴知恵遅れ&お前ら連呼の人が、引数 void って初めて見たぞ
の人と同一人物だったとは
の人と同一人物だったとは
714デフォルトの名無しさん (ワッチョイ cb81-q1e7)
2018/12/22(土) 10:05:42.90ID:Ym27DU080 C言語のスレだから、そろそろ話をC言語に戻そうよ
C++の話は専用スレでも立ててそこで継続してくれ
C++の話は専用スレでも立ててそこで継続してくれ
715デフォルトの名無しさん (ワッチョイ 9be7-omPw)
2018/12/22(土) 10:15:17.63ID:j02wAUXX0 iZ-Cは魅力的なAPIがいっぱいだよ。
716デフォルトの名無しさん (ワッチョイ 4593-AeXI)
2018/12/22(土) 11:12:54.97ID:BR4LVxYj0 新設するまでもなくC++のスレッドも複数あるからなぁ。
濃いネタばっかりで「C++はいいぞ、早くCから移行しろ」程度じゃ
相手にしてもらえないレベルだと思うけど。
…いや、俺も理解できてるわけじゃないがな。
濃いネタばっかりで「C++はいいぞ、早くCから移行しろ」程度じゃ
相手にしてもらえないレベルだと思うけど。
…いや、俺も理解できてるわけじゃないがな。
717デフォルトの名無しさん (アウアウカー Sa51-TLad)
2018/12/22(土) 11:51:34.32ID:aSH6WKCWa Cでオブジェクト指向っぽく書くと継承しなくていいのがいいよね。
冗長にはなるけど。
冗長にはなるけど。
718デフォルトの名無しさん (ワッチョイ bd7b-wUZI)
2018/12/22(土) 12:11:28.34ID:q6a6sTJo0 OOP自体が間違い。OOP書きたいのにC使うのは間違い中の間違い。
719デフォルトの名無しさん (アウアウカー Sa51-TLad)
2018/12/22(土) 12:26:28.69ID:1IcOSx0Ja720デフォルトの名無しさん (ワッチョイ 2361-9KOk)
2018/12/22(土) 12:55:54.08ID:FB4FQRnX0 関数の第一引数を構造体にするならファイルポインターもオブジェクト指向に
なっちゃうからな。
仮想関数テーブルとかつくっちゃってるのかな?
なっちゃうからな。
仮想関数テーブルとかつくっちゃってるのかな?
721デフォルトの名無しさん (ワッチョイ c5f2-5YD5)
2018/12/22(土) 13:17:52.98ID:GdiBSH+o0 昔CでのOOPが流行った頃は「オブジェクト指向=継承」みたいな捉え方が主流だったから
構造体にvtable持ってピギーバックで継承して、って感じだったな。
構造体にvtable持ってピギーバックで継承して、って感じだったな。
722デフォルトの名無しさん (ワッチョイ d54f-OVaG)
2018/12/22(土) 13:20:28.89ID:ruBkeT7Z0 >>717
それは一理ある。
俺自身はCもclass構文を取り入れるべきだと思っているが、実際そうならないのは、
・分かっている奴が書けば何とかなる
からなのも事実だ。
そして「継承」が無駄に嫌われているのは、Javaでは関数ポインタを提供しなかった為、
継承を使うべきでない局面で使われまくり、余計に意味不明になる事が多かったからだ。
デザインパターン自体がバッドプラクティス集なのもそのせいだ。
あれも本来は「第一級関数」を持つ言語で書き直し、
既存のJavaで書かれたデザインパターンは老害ゴミとして捨て去られるべきなのさ。
ただ、本来「継承」を用いるべき局面については当然「継承」の方がフィットするわけで、
Goみたいに
× 継承に代わる便利なものを用意したから継承が不要となった
○ ただ単に継承/仮想関数を排除しただけ
の言語は完全に乗り遅れてる。あれならCで書いても同じだし。
(Goは元から80年代の言語だと揶揄されていたが、全くその通りだった)
とはいえ、Goを作った連中は君と同じ感覚なのだろうとは思う。
君はGoを気に入るかもね。
それは一理ある。
俺自身はCもclass構文を取り入れるべきだと思っているが、実際そうならないのは、
・分かっている奴が書けば何とかなる
からなのも事実だ。
そして「継承」が無駄に嫌われているのは、Javaでは関数ポインタを提供しなかった為、
継承を使うべきでない局面で使われまくり、余計に意味不明になる事が多かったからだ。
デザインパターン自体がバッドプラクティス集なのもそのせいだ。
あれも本来は「第一級関数」を持つ言語で書き直し、
既存のJavaで書かれたデザインパターンは老害ゴミとして捨て去られるべきなのさ。
ただ、本来「継承」を用いるべき局面については当然「継承」の方がフィットするわけで、
Goみたいに
× 継承に代わる便利なものを用意したから継承が不要となった
○ ただ単に継承/仮想関数を排除しただけ
の言語は完全に乗り遅れてる。あれならCで書いても同じだし。
(Goは元から80年代の言語だと揶揄されていたが、全くその通りだった)
とはいえ、Goを作った連中は君と同じ感覚なのだろうとは思う。
君はGoを気に入るかもね。
723デフォルトの名無しさん (アメ MM59-wUZI)
2018/12/22(土) 13:27:38.05ID:nwnvhQAlM > 本来「継承」を用いるべき局面については当然「継承」の方がフィットする
設計時どれだけそう思い込んでいても、のちに覆され得る。それは設計時には知り得ない。
単純に継承のことは完全に忘れ去ってしまうべきである。
そんなものは無かった。
設計時どれだけそう思い込んでいても、のちに覆され得る。それは設計時には知り得ない。
単純に継承のことは完全に忘れ去ってしまうべきである。
そんなものは無かった。
724デフォルトの名無しさん (ブーイモ MM89-Lq2G)
2018/12/22(土) 13:50:48.44ID:Hmvw7Yp+M 老害ゆとりのvoid君
相変わらず言ってる事が支離滅裂で草
相変わらず言ってる事が支離滅裂で草
725デフォルトの名無しさん (ワイモマー MM43-ESEE)
2018/12/22(土) 13:56:16.04ID:BEf9L/k+M void君がよく「ゆとり」連呼してるけど
彼本人はどうなん?
発言内容からはキャリアを感じさせないし
そもそも年齢もせいぜい35くらいじゃないの?
彼本人はどうなん?
発言内容からはキャリアを感じさせないし
そもそも年齢もせいぜい35くらいじゃないの?
726デフォルトの名無しさん (ワッチョイ cb81-q1e7)
2018/12/22(土) 13:59:01.93ID:Ym27DU080 カサブランカの世界だな
727デフォルトの名無しさん (アウアウカー Sa51-TLad)
2018/12/22(土) 14:00:34.13ID:IG9dO8ZOa >>721
そうね。便利なマクロ用意したら結局それC++じゃんみたいな。
無遅刻無欠勤がとりえでコピペの手間を厭わないsubversion大好きかつ注意深い人達が作った、再利用を全く考えないワンオフ物の超巨大クラス構造みたいなの見ると、継承は初めから無い方がいいなと思うよ。ほんとつらい。
そうね。便利なマクロ用意したら結局それC++じゃんみたいな。
無遅刻無欠勤がとりえでコピペの手間を厭わないsubversion大好きかつ注意深い人達が作った、再利用を全く考えないワンオフ物の超巨大クラス構造みたいなの見ると、継承は初めから無い方がいいなと思うよ。ほんとつらい。
728デフォルトの名無しさん (ワッチョイ d54f-OVaG)
2018/12/22(土) 14:03:16.29ID:ruBkeT7Z0729デフォルトの名無しさん (ワッチョイ bd05-n0lc)
2018/12/22(土) 14:26:09.40ID:9V9oS+990 >>717
書き方次第だよ。linuxで最も有名なライブラリの一つであるglibは継承してるし
書き方次第だよ。linuxで最も有名なライブラリの一つであるglibは継承してるし
730デフォルトの名無しさん (ワッチョイ 236e-q1e7)
2018/12/22(土) 15:34:01.41ID:ghZDfTzQ0 空想論の域を出てないなあ
731デフォルトの名無しさん (ワッチョイ 35d2-7Qhd)
2018/12/22(土) 21:50:01.34ID:H4+WRP2A0 死にたい
732さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd43-NaUf)
2018/12/22(土) 21:56:40.29ID:Op/4E6E/d 死にたいのは何かが足りないから。
その何かを探しに旅行へ行こう。
旅人は旅に旅立つ。
その何かを探しに旅行へ行こう。
旅人は旅に旅立つ。
733デフォルトの名無しさん (ワッチョイ cb81-q1e7)
2018/12/22(土) 22:42:35.80ID:Ym27DU080 片道切符に誘うのやめろ!
734デフォルトの名無しさん (ブーイモ MMeb-6EUo)
2018/12/23(日) 01:05:41.98ID:vlmCWjWkM Cの世界へ逝こう
735デフォルトの名無しさん (ワッチョイ 9b9f-t5R+)
2018/12/23(日) 11:39:57.84ID:nNQ759QC0 >>731
Cぬな
Cぬな
736デフォルトの名無しさん (ワッチョイ 9b7f-pJxC)
2018/12/23(日) 12:16:27.31ID:qYRfL2gu0 全てがCになる
737デフォルトの名無しさん (ワッチョイ 9b9f-q1e7)
2018/12/23(日) 12:39:52.20ID:nNQ759QC0 С
738デフォルトの名無しさん (ワッチョイ 95b3-4fyn)
2018/12/27(木) 23:00:48.46ID:1iKhYige0 全てがFになる
739デフォルトの名無しさん (ワッチョイ 7681-SF4R)
2018/12/27(木) 23:16:13.58ID:fn4IYFyt0 そして、全てはぬるぽ
>>738
冷密=「冷たい密室と博士たち」の方が好きです他は雰囲気ワードを散りばめただけのどちらかというと駄作に見えてしまうのですが、唯一これは極上のロジックだと思うのです
冷密=「冷たい密室と博士たち」の方が好きです他は雰囲気ワードを散りばめただけのどちらかというと駄作に見えてしまうのですが、唯一これは極上のロジックだと思うのです
741デフォルトの名無しさん (ワッチョイ b6d7-SF4R)
2018/12/28(金) 06:05:14.46ID:4iocbykD0 このスレで全てがFつーたら、-1のことだろ
742デフォルトの名無しさん (アウアウウー Sa39-Z33a)
2018/12/28(金) 09:26:28.29ID:Bx5qAOnaa 255もよろしく
743デフォルトの名無しさん (ワッチョイ 5a68-5EXd)
2018/12/28(金) 17:38:41.28ID:SNiJRt+t0 #defineを使って関数を定義するテクニックがあります
#define kansuu() (ここに関数の内容を書く)
一時的にその関数を無効にしたいときはどうしたらいいでしょうか?
#dfine kansuu()
こんな感じにkansuu()以降を空白にしておくのがいいですか?
#define kansuu() (ここに関数の内容を書く)
一時的にその関数を無効にしたいときはどうしたらいいでしょうか?
#dfine kansuu()
こんな感じにkansuu()以降を空白にしておくのがいいですか?
744デフォルトの名無しさん (ワッチョイ 75b3-ezLB)
2018/12/28(金) 17:40:24.93ID:FW6v28vq0 #define kansuu() (いっぱい書いてる)
#undef kansuu
#define kansuu()
#undef kansuu
#define kansuu()
745デフォルトの名無しさん (ワッチョイ b6d7-SF4R)
2018/12/28(金) 17:54:33.91ID:4iocbykD0 void kansuu(void)
{
ここに関数の内容を書く
}
#define kansuu() (ここに関数の内容を書く)
int main(void)
{
kansuu(); //マクロ
(kansuu)(); //関数
}
{
ここに関数の内容を書く
}
#define kansuu() (ここに関数の内容を書く)
int main(void)
{
kansuu(); //マクロ
(kansuu)(); //関数
}
746デフォルトの名無しさん (ワッチョイ 5a12-V34k)
2018/12/28(金) 23:36:56.58ID:le4HGTEI0 よくあるdebug printfのアレじゃね
747デフォルトの名無しさん (ワッチョイ 5a68-5EXd)
2018/12/29(土) 00:42:29.78ID:bhEXf4Rq0748デフォルトの名無しさん (アウアウウー Sa39-sSsZ)
2018/12/29(土) 10:25:00.95ID:PBX00OFRa -Dじゃあかんのか?
749デフォルトの名無しさん (アウアウウー Sa39-Z33a)
2018/12/30(日) 17:16:13.69ID:i7KTb38La いいんじゃないか?
コンパイラのコマンドがどう解釈するかに掛かってはいるが。
コンパイラのコマンドがどう解釈するかに掛かってはいるが。
750デフォルトの名無しさん (ワッチョイ 0d01-03bl)
2018/12/31(月) 21:39:38.58ID:MpZmteVw0 よくやるのは
#ifdef HOGE
#define func() ここに処理
#else
#define func()
#endif
で、-DオプションでHOGEの定義を切り替える。
好みや宗教により#ifdefを#if definedにしたり、HOGEの値により分けたり、プリプロセッサを使わず処理のifで分岐したり。
#ifdef HOGE
#define func() ここに処理
#else
#define func()
#endif
で、-DオプションでHOGEの定義を切り替える。
好みや宗教により#ifdefを#if definedにしたり、HOGEの値により分けたり、プリプロセッサを使わず処理のifで分岐したり。
751デフォルトの名無しさん (ワッチョイ 9af1-SF4R)
2019/01/01(火) 01:03:53.24ID:JA4reBf90 初心者です。
あけましておめでとうございます。
本年もよろしくお願いいたします。
あけましておめでとうございます。
本年もよろしくお願いいたします。
752デフォルトの名無しさん (ワッチョイ ee8c-+vhK)
2019/01/02(水) 20:01:12.90ID:RordgnsG0 かっぱらいプログラム言語と言うのが出来そうな予感がした。
753デフォルトの名無しさん (ワッチョイ a97c-88M8)
2019/01/03(木) 09:41:01.80ID:MUpMksOg0 Linux環境のデバドラと組み込みの違いって何ですか?
754デフォルトの名無しさん (ワッチョイ 49e9-khkO)
2019/01/03(木) 10:32:23.68ID:H9RYMXki0 デバイスドライバというのはデバイスをドライブするプログラムである。
組み込みというのはまあ特定の製品を制御するための専用のシステムである。専用というのはつまり汎用ではないということで、要はPC向けではないということである。
組み込みというのはまあ特定の製品を制御するための専用のシステムである。専用というのはつまり汎用ではないということで、要はPC向けではないということである。
755デフォルトの名無しさん (ワッチョイ a97c-88M8)
2019/01/03(木) 10:38:18.81ID:MUpMksOg0 >>754
ありがとうございます!
ありがとうございます!
756デフォルトの名無しさん (アウアウウー Sa9d-KJeM)
2019/01/03(木) 16:57:06.44ID:38Nc8DQPa LinuxならLinuxに合わせた形でデバイスとのやりとりを作る必要があるが、そうでないならその辺は自由になる。
757デフォルトの名無しさん (ワッチョイ a97c-88M8)
2019/01/03(木) 17:09:14.18ID:MUpMksOg0758デフォルトの名無しさん (ワッチョイ 1301-4rLr)
2019/01/03(木) 19:27:30.38ID:Gl0+wAUb0 そもそも組込み機器でLinux使うこともあるから>>753の質問自体がイミフなんだが
759デフォルトの名無しさん (ワッチョイ fb02-xhm2)
2019/01/03(木) 23:20:49.06ID:x5GCx+Ws0 まあ、組み込みとだけ言ってしまうとなんでもありになってしまうな。
Windows Embedded なんてのもあるし。組み込みだからといってOSがないとは限らない。
というか今となっては何も入ってない方が珍しいかな?
Windows Embedded なんてのもあるし。組み込みだからといってOSがないとは限らない。
というか今となっては何も入ってない方が珍しいかな?
760デフォルトの名無しさん (ワッチョイ 81ff-xhm2)
2019/01/04(金) 07:14:05.80ID:w3lkHMGF0 わざわざ「組み込み」と言う意味があるかどうかだな
ノートPCをロボットの脳として搭載することもできるが
OSがWindows10 Homeじゃ組み込みとは言えないのか
ノートPCをロボットの脳として搭載することもできるが
OSがWindows10 Homeじゃ組み込みとは言えないのか
761デフォルトの名無しさん (アウアウウー Sa9d-KJeM)
2019/01/05(土) 18:26:16.82ID:pJbMq/2ja 今じゃ小さいの幾らでもあるからなんでも組み込みにできるな。
コストと耐久性の問題はあるが。
コストと耐久性の問題はあるが。
762デフォルトの名無しさん (ワッチョイ 8901-ahzL)
2019/01/06(日) 21:17:49.87ID:LPav389N0 一時はECUなど特定の分野を除いて組み込みもLinuxに席巻されそうになっていたけど、最近のIoTブームのせいか超小型超低消費電力のマイコンのニーズが高くなり昔ながらの職人芸的組み込みソフトが復権してきてるイメージあるわ。
763デフォルトの名無しさん (アウアウウー Sa9d-khkO)
2019/01/06(日) 21:36:48.83ID:rMmabB99a まあプログラムはむしろ楽だね。
貧弱なプラットフォームの方が。
貧弱なプラットフォームの方が。
764デフォルトの名無しさん (ワッチョイ 997b-2hSR)
2019/01/07(月) 06:58:10.64ID:k1Vvc+OE0 PICなんかを使った、電子工作の延長みたいな
「Cでもプログラムできるワンチップ」ていうジャンルも
盛んになってるみたいだし。
あそこまで小さくなると、直接マシン語で考える方が
手っ取り早いような気がするわ。
「Cでもプログラムできるワンチップ」ていうジャンルも
盛んになってるみたいだし。
あそこまで小さくなると、直接マシン語で考える方が
手っ取り早いような気がするわ。
765デフォルトの名無しさん (ワッチョイ 81ff-xhm2)
2019/01/07(月) 17:11:01.86ID:Cio2TleD0 気がするんではなく実際そうだ
あれはアセンブラで使うもの
あれはアセンブラで使うもの
766デフォルトの名無しさん (ワッチョイ 0beb-xhm2)
2019/01/07(月) 17:19:52.92ID:YLZmdTQx0 アセンブラで出来てC言語で出来ないことがイマイチわからないです。
なんか具体的な例などあれば・・・
なんか具体的な例などあれば・・・
767デフォルトの名無しさん (ワッチョイ 8b63-xhm2)
2019/01/07(月) 17:22:48.61ID:ArcgbVcT0 C言語使う為には最低限コンパイラが動く環境を
用意しないと行けないが
アセンブラは比較的簡単に実装できる
いざとなったら16進で入力すれば良いし
用意しないと行けないが
アセンブラは比較的簡単に実装できる
いざとなったら16進で入力すれば良いし
768デフォルトの名無しさん (ワッチョイ 0beb-xhm2)
2019/01/07(月) 18:58:49.76ID:YLZmdTQx0 >>767
なーるほど!コンパイラがいらずでCPUやメモリ使えるってことですね!
それは確かに便利だありがとうございます。初めてアセンブラの利用価値に合点がいきました。アセンブラわからないですが(´・ω・`)
なーるほど!コンパイラがいらずでCPUやメモリ使えるってことですね!
それは確かに便利だありがとうございます。初めてアセンブラの利用価値に合点がいきました。アセンブラわからないですが(´・ω・`)
>>766
自己書き換えプログラム、とかはどうですか?
自己書き換えプログラム、とかはどうですか?
770デフォルトの名無しさん (ワッチョイ 8b63-xhm2)
2019/01/07(月) 19:06:52.70ID:ArcgbVcT0 8ビットCPUの頃はやった事あるけど
今のCPUだと難しいのではないかな
今のCPUだと難しいのではないかな
771デフォルトの名無しさん (ワッチョイ 81ff-xhm2)
2019/01/07(月) 19:13:29.39ID:Cio2TleD0 真のハーバードアーキテクチャだとな
772デフォルトの名無しさん (ワッチョイ 93f1-xhm2)
2019/01/07(月) 19:20:28.86ID:aW5a0RDY0 コンパイラが要らなくてもアセンブラは必要なものじゃないの?
773デフォルトの名無しさん (ワッチョイ 2b7c-xhm2)
2019/01/07(月) 19:34:19.06ID:VIu/Fipc0 >>772
8bit時代、サブルーチン程度ならニーモニックどころかダンプ直打ちしてた基地外もいた
8bit時代、サブルーチン程度ならニーモニックどころかダンプ直打ちしてた基地外もいた
774デフォルトの名無しさん (ワッチョイ 8901-ahzL)
2019/01/07(月) 19:41:40.02ID:0y/PgDfv0 おっさん世代はZ80ぐらいなら主要なニーモニックは未だにヘキサで覚えてる。
775デフォルトの名無しさん (ワッチョイ 81ff-xhm2)
2019/01/07(月) 21:33:52.93ID:Cio2TleD0776デフォルトの名無しさん (ワッチョイ 6900-DsDM)
2019/01/07(月) 21:46:22.29ID:E11lC+b50 このスレの平均年齢いくつなの……w
777デフォルトの名無しさん (アウアウウー Sa9d-KJeM)
2019/01/07(月) 21:58:59.48ID:fnTlHl64a >>768
それだけでなく本当にCだけではできない事があるのが普通だ。CPUにもよるけどね。
何か特定のレジスタに値をセットしないと何かの機能が使えないみたいな場合はCではレジスタの指定をして値をセットすることができないので最低でもその部分だけインラインアセンブラにしたり全部アセンブラで書いたりする(またはそれ用に拡張がされたCコンパイラを使う)。
その他、80系やx86系ってI/Oポートあるが、あれはCからはアクセスできないのでその部分はアセンブラにする。
まあしかしそういうのはほとんどデバイスドライバの中で必要になる事なので普通は一般ユーザは考えなくてもよくなっている。
それだけでなく本当にCだけではできない事があるのが普通だ。CPUにもよるけどね。
何か特定のレジスタに値をセットしないと何かの機能が使えないみたいな場合はCではレジスタの指定をして値をセットすることができないので最低でもその部分だけインラインアセンブラにしたり全部アセンブラで書いたりする(またはそれ用に拡張がされたCコンパイラを使う)。
その他、80系やx86系ってI/Oポートあるが、あれはCからはアクセスできないのでその部分はアセンブラにする。
まあしかしそういうのはほとんどデバイスドライバの中で必要になる事なので普通は一般ユーザは考えなくてもよくなっている。
778デフォルトの名無しさん (アウアウウー Sa9d-KJeM)
2019/01/07(月) 22:02:17.91ID:fnTlHl64a779デフォルトの名無しさん (ワッチョイ 2b7c-xhm2)
2019/01/07(月) 22:31:49.44ID:VIu/Fipc0 >>778
XOR使おうぜ
XOR使おうぜ
781デフォルトの名無しさん (ワッチョイ d901-b7+Q)
2019/01/07(月) 23:02:03.29ID:HO7xoVU80 LD は ゼロやキャリーフラグ変化するんだっけ?
782デフォルトの名無しさん (ワッチョイ 6992-4tJW)
2019/01/07(月) 23:06:04.57ID:JlpUfKel0 オムニバースを解析するソフトウェアを開発するにはどうすれば良いですか?
783デフォルトの名無しさん (ワッチョイ 8b63-xhm2)
2019/01/07(月) 23:11:49.25ID:ArcgbVcT0784デフォルトの名無しさん (ワッチョイ 8bf2-NR1r)
2019/01/07(月) 23:51:44.52ID:4vLmnBNE0 >>780
76
76
>>783
>286では戻れずに、不便だったけど
通説ではそうなんですが、「実は…」という話があった気がします、そのため「だけ」に 286機を確保していたつもりだったのですが、うっかり捨ててしまった、やりたかったことを今思い出してしまった…
>286では戻れずに、不便だったけど
通説ではそうなんですが、「実は…」という話があった気がします、そのため「だけ」に 286機を確保していたつもりだったのですが、うっかり捨ててしまった、やりたかったことを今思い出してしまった…
786デフォルトの名無しさん (ワッチョイ 8b63-xhm2)
2019/01/08(火) 00:17:51.75ID:oEiIhl5B0 NECのPC98での話ですが、プロテクトモードとリアルモードを行き来するのに
リセットで実装していたと聞きました(死中に活ありみたいな感じ)。
「実は・・・」って話は知らないw
リセットで実装していたと聞きました(死中に活ありみたいな感じ)。
「実は・・・」って話は知らないw
787デフォルトの名無しさん (ワッチョイ 81ff-xhm2)
2019/01/08(火) 07:38:36.71ID:iKVSkTiF0 >>785
0F 05 LOADALL
0F 05 LOADALL
788デフォルトの名無しさん (ワッチョイ 13d2-mHCk)
2019/01/08(火) 07:56:15.99ID:hvlZBAYo0 なんか286はPC用じゃなく工業製品用を想定して設計されてたって記事読んだ記憶が。
789デフォルトの名無しさん (ワッチョイ d352-JBiS)
2019/01/08(火) 08:00:10.01ID:3ZWgvjCS0 さあ、C言語の話をしようか。
790デフォルトの名無しさん (アークセー Sxc5-mE+R)
2019/01/08(火) 10:13:36.31ID:qFTAFG9Fx 昔から疑問なんだけど、マップドIO制御を除いてC言語だけでRTOSのカーネルは書けるのだろうか?
タスク同士のシステムコール発行によるプリエンプトはsetjmp/longjmpで何とかなりそうだけど、割り込みハンドラからのシステムコールによるタスクディスパッチは何をどうあがいてもスタックポインタの直接書き換えが必要な気がしてならない。
タスク同士のシステムコール発行によるプリエンプトはsetjmp/longjmpで何とかなりそうだけど、割り込みハンドラからのシステムコールによるタスクディスパッチは何をどうあがいてもスタックポインタの直接書き換えが必要な気がしてならない。
791デフォルトの名無しさん (JP 0H95-OLjn)
2019/01/08(火) 10:40:29.19ID:qjoMs7mdH ハンドラ内でsetjmpしたらどうなるんだろう
792デフォルトの名無しさん (ワッチョイ 81ff-xhm2)
2019/01/08(火) 11:39:30.49ID:iKVSkTiF0 CだけでOSなんて、Cは元々そういう使い方を想定していない
実際UNIXは5%がアセンブラだった
特権命令は誰か言っていたとおりだし
PCとSPのようなCが前提にしているものの初期化をCでは絶対に書けない
実際UNIXは5%がアセンブラだった
特権命令は誰か言っていたとおりだし
PCとSPのようなCが前提にしているものの初期化をCでは絶対に書けない
793デフォルトの名無しさん (ワッチョイ 6900-DsDM)
2019/01/08(火) 13:48:48.48ID:we27gJDs0 でも最近のUEFIとかなら全部Cで書かれたOSでも起動できそうだけどね。
794デフォルトの名無しさん (オイコラミネオ MM95-hx//)
2019/01/08(火) 16:18:38.83ID:rMmlRXYeM C言語を一番最初に学んで、C++、ほかスクリプト言語と使っているが、C言語で文字列処理ライブラリーってみんなどうしてる?
C++ だとboost C++ とかいろいろなライブラリがあって、オープンソースだったり商用利用できたり、物によってはGPLだったりするけど、そういうのに相当するC言語の文字列処理ライブラリってある?
各自で作りためたオレオレライブラリをみんな使ってるの??
C++ だとboost C++ とかいろいろなライブラリがあって、オープンソースだったり商用利用できたり、物によってはGPLだったりするけど、そういうのに相当するC言語の文字列処理ライブラリってある?
各自で作りためたオレオレライブラリをみんな使ってるの??
7950794 (オイコラミネオ MM95-hx//)
2019/01/08(火) 16:22:15.64ID:rMmlRXYeM つまり今から俺が自分用に文字列処理ライブラリ(独りよがりのオレオレライブラリ)を作る意味があるのか、俺が知らないだけでboostみたいに出来合いの洗練されたライブラリがあるのか…な…?
Pythonとかは言語仕様で十分複雑なことが出来るし、ホントC言語だけなんでこんな毎回面倒な目に合うのだろう。
Pythonとかは言語仕様で十分複雑なことが出来るし、ホントC言語だけなんでこんな毎回面倒な目に合うのだろう。
796デフォルトの名無しさん (ワッチョイ 81ff-xhm2)
2019/01/08(火) 16:37:12.54ID:iKVSkTiF0 Cを修行中ならオレオレライブラリを作ることにも充分に意味がある
既製品を使うことしかできないくせに天狗になってるやつが時々いる
使っているライブラリがオレオレか既製品かといった手段ではなく
知的な旅でどこへ行けたかが問題であることを見失うな
既製品を使うことしかできないくせに天狗になってるやつが時々いる
使っているライブラリがオレオレか既製品かといった手段ではなく
知的な旅でどこへ行けたかが問題であることを見失うな
797デフォルトの名無しさん (アウアウウー Sa9d-KJeM)
2019/01/08(火) 16:56:52.52ID:LJT6VvGba 俺はboostを知らない。
Cではあまり複雑な文字列処理を書かないしな。
複雑なのはPerl使ったりする。
Cではあまり複雑な文字列処理を書かないしな。
複雑なのはPerl使ったりする。
798デフォルトの名無しさん (オイコラミネオ MM95-hx//)
2019/01/08(火) 18:11:31.32ID:rMmlRXYeM みんなありがとう
Cは全然修行中なわけではなく、別に必要にも迫られてない(C++もPythonも使える恵まれた環境)
ただ必要になったとき、みんなどーしてんだろうと。
C言語で文字列処理なんてするシチュエーションが少ない、とかかな。
初めてPython使ったときは感動した。簡単すぎて。C++では修行中に文字列処理ライブラリとかオレオレライブラリ作成やってみたけど、できあがった物がどう見てもboostの下位互換で悲しかった。
だからC言語で良いライブラリがあったら知っておきたいと思ったんだ。
Cは全然修行中なわけではなく、別に必要にも迫られてない(C++もPythonも使える恵まれた環境)
ただ必要になったとき、みんなどーしてんだろうと。
C言語で文字列処理なんてするシチュエーションが少ない、とかかな。
初めてPython使ったときは感動した。簡単すぎて。C++では修行中に文字列処理ライブラリとかオレオレライブラリ作成やってみたけど、できあがった物がどう見てもboostの下位互換で悲しかった。
だからC言語で良いライブラリがあったら知っておきたいと思ったんだ。
799デフォルトの名無しさん (ワッチョイ 2b7c-xhm2)
2019/01/08(火) 18:41:54.19ID:MwaFnBBQ0800デフォルトの名無しさん (JP 0H95-OLjn)
2019/01/08(火) 19:47:06.06ID:qjoMs7mdH >>795
glibとか?
glibとか?
801デフォルトの名無しさん (ワッチョイ 7be9-uFMA)
2019/01/08(火) 22:16:50.19ID:BZbwJw/70 ちょっとすみません
gccの最適化オプションの-O2を使った場合に動作がおかしくなったりすることはありますか?
gccの最適化オプションの-O2を使った場合に動作がおかしくなったりすることはありますか?
802デフォルトの名無しさん (ワッチョイ 8b63-xhm2)
2019/01/08(火) 22:19:56.62ID:oEiIhl5B0 あるかもしれないし、ないかも知れない
そういうソースがあるなら、晒して皆に確かめてもらえ
そういうソースがあるなら、晒して皆に確かめてもらえ
803デフォルトの名無しさん (アウアウカー Sa55-khkO)
2019/01/08(火) 23:00:38.10ID:E9NMc6wba804デフォルトの名無しさん (ワッチョイ 7be9-uFMA)
2019/01/08(火) 23:28:52.41ID:BZbwJw/70805デフォルトの名無しさん (ワッチョイ 7be9-uFMA)
2019/01/08(火) 23:31:24.43ID:BZbwJw/70 >>803
volatileというものに気を付けないといけないわけですか
volatileというものに気を付けないといけないわけですか
806デフォルトの名無しさん (ワッチョイ d352-JBiS)
2019/01/08(火) 23:45:28.12ID:3ZWgvjCS0 >>804
仕様上規定されていない部分は最適化によって挙動が変わることがある。だから不確定な処理や誤った処理を書いていた場合に、これまでたまたま上手く動くコードが生成されていただけで、最適化によって挙動が変わってバグが顕在化することがある。
例えば、評価順序が不確定な処理を書いていたのがたまたま期待通りの順序で実行するコードになっていただけとか、不正なアドレスのメモリを参照や更新してしまっていたがたまたま問題がなかっただけだったとか。
仕様上規定されていない部分は最適化によって挙動が変わることがある。だから不確定な処理や誤った処理を書いていた場合に、これまでたまたま上手く動くコードが生成されていただけで、最適化によって挙動が変わってバグが顕在化することがある。
例えば、評価順序が不確定な処理を書いていたのがたまたま期待通りの順序で実行するコードになっていただけとか、不正なアドレスのメモリを参照や更新してしまっていたがたまたま問題がなかっただけだったとか。
>>803
volatile は一切使わないことにしました…
volatile は一切使わないことにしました…
808デフォルトの名無しさん (ブーイモ MMdd-OLjn)
2019/01/09(水) 00:28:20.37ID:QEOONCVCM volatileにすべきところでしないから最適化でバグるんだよ
>>808
volatile すべきところ、って具体的にどういうところですか?それは本当に volatile にする必要があるのですか?
volatile すべきところ、って具体的にどういうところですか?それは本当に volatile にする必要があるのですか?
810デフォルトの名無しさん (ブーイモ MMdd-OLjn)
2019/01/09(水) 01:08:46.29ID:QEOONCVCM811デフォルトの名無しさん (ワッチョイ 7be9-uFMA)
2019/01/09(水) 02:45:48.52ID:cump+mlU0 >>806
ありがとうございます
そうであれば不確定な部分がなければバグはでないということですね
最適化用にプログラムの書き方も変える必要があるのかと思っていました
volatileはライブラリの中で使っていそうですがきっと大丈夫でしょう
ありがとうございます
そうであれば不確定な部分がなければバグはでないということですね
最適化用にプログラムの書き方も変える必要があるのかと思っていました
volatileはライブラリの中で使っていそうですがきっと大丈夫でしょう
>>810
個人的には、memory-maped な世界はよくしらない(インテル系しかしらない…).
shared memory って、特別なことはありましたっけ?マルチスレッドなら排他処理用のオブジェクト(pthread-mutex/cond)を使っておれば問題ないし、fork() の中と外で同じ変数をつつくときは…はて、どうしてたっけ?
個人的には、memory-maped な世界はよくしらない(インテル系しかしらない…).
shared memory って、特別なことはありましたっけ?マルチスレッドなら排他処理用のオブジェクト(pthread-mutex/cond)を使っておれば問題ないし、fork() の中と外で同じ変数をつつくときは…はて、どうしてたっけ?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【画像】カリカリ女、脱いだらすごい😨 [632966346]
- 俺のおちんちん舐めたい女の子いる?
- くそしてかがやけ
- 早大名誉教授「高市内閣の高支持率はデータ操作か、支持している日本人がアホなのか」👈核心を突いてしまう [868050967]
