!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:D9Gt7gmT0793デフォルトの名無しさん (ワッチョイ 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() の中と外で同じ変数をつつくときは…はて、どうしてたっけ?
813デフォルトの名無しさん (ワッチョイ fb02-cuFO)
2019/01/09(水) 03:28:53.85ID:T8HUoC+c0 そういやvolatileってC言語の場合CPUによってはうまく行かない事がありうるのな。
例えば4バイトの整数にアクセスするとして、そのCPUが2バイトづつしか読み書きできなかったら必ず2回のアクセスになる。
すると上位バイトと下位バイトで取得した時間が違っていたり一度に4バイト全体の内容を書き換えられない。
例えば4バイトの整数にアクセスするとして、そのCPUが2バイトづつしか読み書きできなかったら必ず2回のアクセスになる。
すると上位バイトと下位バイトで取得した時間が違っていたり一度に4バイト全体の内容を書き換えられない。
815デフォルトの名無しさん (ワッチョイ 8b2c-otaJ)
2019/01/09(水) 04:49:03.78ID:/QFmT4Vc0 マイコンなどのIO アドレスを、PC 側のメモリのアドレスに関連付けているのだろう(Memory-mapped I/O)。
これで、PC側のアプリでは、PCのメモリを読み書きするだけで、マイコンの操作ができる
PC側のメモリを読むと、マイコン側のメモリから読み込む。
読み込むと、マイコンの電圧が変わって、値が不定か逆などになる
通常は、pull up, pull down 抵抗などで、5V・0V にしているけど、
閾(しきい)値(Threshold)があって、
例えば、1V以下なら0V、4V以上なら5Vと判定される場合、1〜4Vは、不定になる
まあとにかく、読み込むだけで電圧が変わる・リセットされるから、
読み込むだけでも、電圧の状態が変わる
だから、IOアドレスを読むだけでも意味がある・状態を変えているので、
コンパイラで最適化・省略してほしくない!
これで、PC側のアプリでは、PCのメモリを読み書きするだけで、マイコンの操作ができる
PC側のメモリを読むと、マイコン側のメモリから読み込む。
読み込むと、マイコンの電圧が変わって、値が不定か逆などになる
通常は、pull up, pull down 抵抗などで、5V・0V にしているけど、
閾(しきい)値(Threshold)があって、
例えば、1V以下なら0V、4V以上なら5Vと判定される場合、1〜4Vは、不定になる
まあとにかく、読み込むだけで電圧が変わる・リセットされるから、
読み込むだけでも、電圧の状態が変わる
だから、IOアドレスを読むだけでも意味がある・状態を変えているので、
コンパイラで最適化・省略してほしくない!
816デフォルトの名無しさん (ワッチョイ 81ff-xhm2)
2019/01/09(水) 05:40:56.66ID:4Rn8lGBj0 >>815
volatileと一切何の関係もねえし
volatileと一切何の関係もねえし
817デフォルトの名無しさん (ワッチョイ 997b-2hSR)
2019/01/09(水) 07:03:03.74ID:nmJLIVr10 いや、「Cのプログラムで変数(あるアドレス)を読むことが、
ハードウェア的には状態リセットの操作になっているから、
読めと指示した場所で必ず読み取り動作を行って欲しい」だから、
volatileの使い方のひとつとして正当でしょ。
ハードウェア的な内幕の説明が少々ぎごちない気がするけどね。
ハードウェア的には状態リセットの操作になっているから、
読めと指示した場所で必ず読み取り動作を行って欲しい」だから、
volatileの使い方のひとつとして正当でしょ。
ハードウェア的な内幕の説明が少々ぎごちない気がするけどね。
818デフォルトの名無しさん (アークセー Sxc5-mE+R)
2019/01/09(水) 07:55:50.33ID:YaNn8N94x >>813
多バイトアクセスがatomicに行われないのはvolatileの守備範囲ではなくinterlockの守備範囲。
なのでCPUによってはvolatileがうまく行われないってのはvolatileに対する名誉毀損になる。
多バイトアクセスがatomicに行われないのはvolatileの守備範囲ではなくinterlockの守備範囲。
なのでCPUによってはvolatileがうまく行われないってのはvolatileに対する名誉毀損になる。
819815 (ワッチョイ 8b2c-otaJ)
2019/01/09(水) 08:02:53.56ID:/QFmT4Vc0 マイコンなどのIO アドレス(port)を読み書きするには、その装置の手順が決まっている
まず、制御ポートに、読み込むポート番号を教える。
そこで装置を制御できるようにするために、例えば、50μ秒待つ
次に、ポートから読み込む。
読み込まれたポートは、電圧の状態を変える
電気電子的動作の要件・時間が、厳密に決まっている。
ある回路を動作させるときに、回路を切り替えないといけない
電圧の高低で、ある回路の部分を止めて、異なる部分を動作させる(電流を流す)。
そのため、規定の時間よりも、速くアクセスできない
まず、制御ポートに、読み込むポート番号を教える。
そこで装置を制御できるようにするために、例えば、50μ秒待つ
次に、ポートから読み込む。
読み込まれたポートは、電圧の状態を変える
電気電子的動作の要件・時間が、厳密に決まっている。
ある回路を動作させるときに、回路を切り替えないといけない
電圧の高低で、ある回路の部分を止めて、異なる部分を動作させる(電流を流す)。
そのため、規定の時間よりも、速くアクセスできない
820デフォルトの名無しさん (ワッチョイ 81ff-xhm2)
2019/01/09(水) 11:29:26.49ID:4Rn8lGBj0 電流を流すってのはバイポーラの場合だね
今ほとんどのコンピュータがCMOSで電流はゼロアンペアだ
寄生容量で交流成分が漏れたり貫通電流の問題はあるが
それは信号が電流表現ということではない
今ほとんどのコンピュータがCMOSで電流はゼロアンペアだ
寄生容量で交流成分が漏れたり貫通電流の問題はあるが
それは信号が電流表現ということではない
821デフォルトの名無しさん (ササクッテロレ Spc5-W220)
2019/01/09(水) 18:32:34.88ID:ur1geU61p >>804
最適化でおかしくなる場合の例としては潜在的バクがある。そしてよく見るのは組み込み系。volatileもそうだがprintfいれたり-O0にすると動作が正常化するってのがある。
volatileの例だと
int* fifo=0x0001;
int data=*fifo;
のようなコードはvolatileつけないと順番入れ替えられたりコードそのものがなくなったりする。
-O0やprintf入れると直る系はキャッシュ周りのこともある。キャッシュを積極的に使うかどうかで、キャッシュを使わない場合に安定する。キャッシュをたくさん使うprintfのような関数を入れると再度積み直しになって安定する。
後者は潜在的なバグで発見が難しいことが多い。プログラミングはわかるけど組み込みを知らない人がやらかすバグの一つ。
最適化でおかしくなる場合の例としては潜在的バクがある。そしてよく見るのは組み込み系。volatileもそうだがprintfいれたり-O0にすると動作が正常化するってのがある。
volatileの例だと
int* fifo=0x0001;
int data=*fifo;
のようなコードはvolatileつけないと順番入れ替えられたりコードそのものがなくなったりする。
-O0やprintf入れると直る系はキャッシュ周りのこともある。キャッシュを積極的に使うかどうかで、キャッシュを使わない場合に安定する。キャッシュをたくさん使うprintfのような関数を入れると再度積み直しになって安定する。
後者は潜在的なバグで発見が難しいことが多い。プログラミングはわかるけど組み込みを知らない人がやらかすバグの一つ。
822デフォルトの名無しさん (ワッチョイ 8901-ahzL)
2019/01/09(水) 19:37:23.10ID:pHvZAha70 キャッシュ絡みの潜在的なソフトのバグってのは経験ないなぁ。キャッシュが化けるハードのバグなら経験あるけど。
キャッシュ絡みってシノニム問題のこと?
キャッシュ絡みってシノニム問題のこと?
823デフォルトの名無しさん (ワッチョイ 8b63-xhm2)
2019/01/09(水) 19:41:27.69ID:G9k7j+QI0 キャシュの話はC言語にかぎらずどの言語でも起こりそう
824デフォルトの名無しさん (ワッチョイ 8901-ahzL)
2019/01/09(水) 20:19:35.23ID:pHvZAha70 ああ、キャッシュ絡みのソフトバグ思い出した。
動的にプログラム入れ替えるソフト作ったときにIキャッシュをクリアし忘れてて誤動作したことあるわ。
Dキャッシュと分離されてる拡張ハーバードアーキテクチャの良い勉強になった思い出。
動的にプログラム入れ替えるソフト作ったときにIキャッシュをクリアし忘れてて誤動作したことあるわ。
Dキャッシュと分離されてる拡張ハーバードアーキテクチャの良い勉強になった思い出。
825デフォルトの名無しさん (ワッチョイ 4d00-XG35)
2019/01/13(日) 00:46:58.72ID:Yl3ShYz90 IMCCOやTecConfのエントリー作品を見る限り、
Cのコードゴルフって10年くらい前と短かさとかが変っていないように思えるんだけど
これはCが成熟しきった(所謂「枯れた」)言語である程度の成長限界があるからなのかな。
それとも凄腕プログラマの興味がPythonやらRubyなんかに移っちゃったのかな。
Cのコードゴルフって10年くらい前と短かさとかが変っていないように思えるんだけど
これはCが成熟しきった(所謂「枯れた」)言語である程度の成長限界があるからなのかな。
それとも凄腕プログラマの興味がPythonやらRubyなんかに移っちゃったのかな。
826デフォルトの名無しさん (ワッチョイ 3d7b-rp4P)
2019/01/13(日) 01:10:46.51ID:/M42Y9uV0 > コードゴルフ
意味無いから誰も参加しないだけでは
意味無いから誰も参加しないだけでは
827デフォルトの名無しさん (ワッチョイ 715f-tbRK)
2019/01/13(日) 01:20:23.99ID:zp78LtJW0 >>766
アセンブラとC言語はまったく違うのに何を言っているのか?
アセンブラとC言語はまったく違うのに何を言っているのか?
828デフォルトの名無しさん (ワッチョイ 715f-tbRK)
2019/01/13(日) 01:23:29.53ID:zp78LtJW0 >>798
あのな、コンピータには文字列という概念がないのだよ。
あのな、コンピータには文字列という概念がないのだよ。
829デフォルトの名無しさん (ワッチョイ f94e-45a3)
2019/01/13(日) 01:50:41.81ID:IM9k4xNE0 > それとも凄腕プログラマの興味がPythonやらRubyなんかに移っちゃったのかな。
ハハッ、ナイスジョーク
ハハッ、ナイスジョーク
830デフォルトの名無しさん (ワッチョイ a67c-VK1S)
2019/01/13(日) 10:13:49.80ID:yABfrIyE0831デフォルトの名無しさん (ワッチョイ da52-I3rR)
2019/01/13(日) 10:20:29.78ID:7BHWGbvy0 >>830
CPUがビット演算しか備えていないならそうかも知れないけど、整数や浮動小数点数の演算を備えているのだから数値の概念はあるだろう。
CPUがビット演算しか備えていないならそうかも知れないけど、整数や浮動小数点数の演算を備えているのだから数値の概念はあるだろう。
832デフォルトの名無しさん (アウアウウー Sa89-/Mri)
2019/01/13(日) 10:59:24.10ID:EaFLGn72a それいったらあるのはせいぜい、アルファベットとか…
833デフォルトの名無しさん (アウアウクー MM45-tbRK)
2019/01/13(日) 11:17:20.34ID:IIjq691iM >>830
むしろ数値しかない
むしろ数値しかない
834デフォルトの名無しさん (アウアウウー Sa89-/Mri)
2019/01/13(日) 11:26:53.62ID:EaFLGn72a チューリングマシンの説明に数値なんて出てこないでしょ
835デフォルトの名無しさん (アウアウウー Sa89-I3rR)
2019/01/13(日) 11:49:52.93ID:Mw9Ec3URa836デフォルトの名無しさん (アウアウウー Sa89-/Mri)
2019/01/13(日) 11:56:05.87ID:EaFLGn72a チューリングマシンでもコンピュータでもなんでもいいけど、記号操作をやってるんです。
数値なんてのはかなり抽象化した話です。
数値なんてのはかなり抽象化した話です。
837デフォルトの名無しさん (ブーイモ MM9a-7G8+)
2019/01/13(日) 12:02:55.92ID:QSfXhXiJM CPU の数値演算はビット列をAND、OR、 NOTの組み合わせで変換してるだけだしね
838デフォルトの名無しさん (ワッチョイ 3af1-goYb)
2019/01/13(日) 12:27:42.01ID:Ov2pIYHC0 まぁ根本的に機械にはビットも数値も文字も文字列も無いわな。電気的にHiかLowかって話だから。
そういう話するスレではないと思うが。
そういう話するスレではないと思うが。
839デフォルトの名無しさん (ワッチョイ e5f2-Fjw0)
2019/01/13(日) 12:51:37.79ID:gz3n+4+q0 演算器を構成するゲートレベルなら話は別だが、CPUレベルなら整数の加算てのは
ひとつのプリミティブな操作だろう。
ひとつのプリミティブな操作だろう。
840デフォルトの名無しさん (ワッチョイ d663-VK1S)
2019/01/13(日) 12:52:03.33ID:+ibs1ZYS0 C言語以外の話題になると、俄然盛況になるスレ
>>837
3種類もあるのかなあ… NAND または NOR どちらか一方だけじゃない?
3種類もあるのかなあ… NAND または NOR どちらか一方だけじゃない?
842デフォルトの名無しさん (ワッチョイ dd01-oec2)
2019/01/13(日) 13:37:24.61ID:Gq5QlaCR0 今どきはHDLで書いてLUTベースになってるんじゃないのん?
843デフォルトの名無しさん (ワッチョイ fad2-kZrb)
2019/01/13(日) 13:53:19.28ID:mc4jTf550 原子/分子に文字の概(ry
844デフォルトの名無しさん (ワッチョイ 7a01-CymP)
2019/01/13(日) 17:00:14.26ID:T8nAK+of0 >>841
NAND だけで全ての論理回路を構成できるけど NAND だけで構成されてるかどうかはわからん
NAND だけで全ての論理回路を構成できるけど NAND だけで構成されてるかどうかはわからん
845デフォルトの名無しさん (ワッチョイ f9ff-VK1S)
2019/01/13(日) 17:43:49.41ID:kE5YqrGT0 基本回路はNOTで、その出力で駆動する
スイッチング素子を直列に置くか並列に置くかでAND/ORにしてるだけ
出力を負論理にするのはIOL>IOHだったTTL時代の名残
スイッチング素子を直列に置くか並列に置くかでAND/ORにしてるだけ
出力を負論理にするのはIOL>IOHだったTTL時代の名残
846デフォルトの名無しさん (ワッチョイ ce8c-5iom)
2019/01/15(火) 07:09:12.36ID:nk6JBEGL0 根本は電子とホールの移動度の差
847デフォルトの名無しさん (アウアウウー Sa89-/Mri)
2019/01/15(火) 07:18:28.73ID:P3RuPPdOa たとえば水流で動作するコンピュータがあったらと考えると電子とホールは全然本質じゃない
848デフォルトの名無しさん (ワッチョイ a57b-dZ8/)
2019/01/15(火) 08:01:36.67ID:c3MJrubW0 そういや、スマートボール(まぁパチンコ台みたいなものと思ってくれ)式に
上の投入口からボールを落とすと、台に仕組まれたシーソーの傾きが変わって
後から入れるボールの流れも変わる、ていう「機械式計算機」の
モデルもあったな。
シーソーにラッチがついてて「メモリ機能」を持たせたり、
ボールを何個か積み上げるとラッチが解除される仕掛けで変更したり。
>>846 は半導体素子の原理説明だったかな。
P型、N型それぞれの中でも、電子と正孔の両方があったはず、だよね。
上の投入口からボールを落とすと、台に仕組まれたシーソーの傾きが変わって
後から入れるボールの流れも変わる、ていう「機械式計算機」の
モデルもあったな。
シーソーにラッチがついてて「メモリ機能」を持たせたり、
ボールを何個か積み上げるとラッチが解除される仕掛けで変更したり。
>>846 は半導体素子の原理説明だったかな。
P型、N型それぞれの中でも、電子と正孔の両方があったはず、だよね。
849デフォルトの名無しさん (ワッチョイ f9ff-VK1S)
2019/01/15(火) 08:06:38.17ID:O800IQzp0 正孔なんてものは存在しない
あるはずの電子がない状態というだけ
電流の向きと電子の移動方向が逆ということを
どうしても受け入れられない石頭のための説明だ
あるはずの電子がない状態というだけ
電流の向きと電子の移動方向が逆ということを
どうしても受け入れられない石頭のための説明だ
850デフォルトの名無しさん (アークセー Sx85-rXi3)
2019/01/15(火) 09:33:53.56ID:biAsBETNx851デフォルトの名無しさん (ワッチョイ f9ff-VK1S)
2019/01/15(火) 10:10:49.40ID:O800IQzp0852デフォルトの名無しさん (ワッチョイ ce78-OQTP)
2019/01/15(火) 10:24:18.70ID:ymCyYm1q0 つまり電子が無くなることなんて無かった…?
853デフォルトの名無しさん (ワッチョイ a67c-VK1S)
2019/01/15(火) 10:36:11.91ID:xc4OhZdf0 >>849
「あるはずの電子が無い状態」のことを性行っていうんよ
「あるはずの電子が無い状態」のことを性行っていうんよ
854デフォルトの名無しさん (ワッチョイ f9ff-VK1S)
2019/01/15(火) 11:02:13.55ID:O800IQzp0 846みたいに陽電子と勘違するやつがいるから指摘しといたんだ
855デフォルトの名無しさん (ブーイモ MM71-1nak)
2019/01/15(火) 11:06:00.20ID:TmM1XKX0M 誤「あるはずの電子がない」
正「電子がある方が結合が安定する(けど陽子数と合わない)」
正「電子がある方が結合が安定する(けど陽子数と合わない)」
856デフォルトの名無しさん (ワッチョイ f9ff-VK1S)
2019/01/15(火) 11:19:45.08ID:O800IQzp0 >>855
ほほう それでそれで?
____
/:::::::ヽ
f::/" ̄ ̄ヾi
|:リ _ _|
|r==( o)( o)
( ヽ _) i
__/ヽ ー== イ
/ヽ ヽ \__ノ
`/ i \_/、
/ r-、 ハ
レ⌒ヾi / / |
i  ̄`ー―-ヘ |
ヽ_____ノーイ
| \ ノ
 ̄ ̄ ̄ ̄
ほほう それでそれで?
____
/:::::::ヽ
f::/" ̄ ̄ヾi
|:リ _ _|
|r==( o)( o)
( ヽ _) i
__/ヽ ー== イ
/ヽ ヽ \__ノ
`/ i \_/、
/ r-、 ハ
レ⌒ヾi / / |
i  ̄`ー―-ヘ |
ヽ_____ノーイ
| \ ノ
 ̄ ̄ ̄ ̄
857デフォルトの名無しさん (アウアウウー Sa89-/Mri)
2019/01/15(火) 12:02:58.73ID:P3RuPPdOa ホールはあるぞ。
電子も実はないんだとか言うならまだわかるが。
電子も実はないんだとか言うならまだわかるが。
858デフォルトの名無しさん (バットンキン MM99-rXi3)
2019/01/15(火) 12:03:00.19ID:+hPQnyk+M >>851
じゃあ、逆に聞くが正孔って何?
じゃあ、逆に聞くが正孔って何?
859デフォルトの名無しさん (ワッチョイ f9ff-VK1S)
2019/01/15(火) 12:12:57.27ID:O800IQzp0 ブツではなく状態ということだ
860デフォルトの名無しさん (アークセー Sx85-rXi3)
2019/01/15(火) 12:46:21.45ID:biAsBETNx なんだ、やっぱりその状態があるって認めてるじゃん。正孔(という状態)は存在する、と。
てか誰も「正孔というモノ」の話なんかしてなくて一人だけ勘違いしてるw
てか誰も「正孔というモノ」の話なんかしてなくて一人だけ勘違いしてるw
861デフォルトの名無しさん (アメ MM71-45a3)
2019/01/15(火) 12:53:56.34ID:XHhYs/N9M いや俺も勘違いしてるから二人にしとけ。
862デフォルトの名無しさん (ワッチョイ 3af1-VK1S)
2019/01/15(火) 12:59:09.57ID:adxfbmcy0 じゃあ俺も俺も
863デフォルトの名無しさん (アウアウウー Sa89-JzEj)
2019/01/15(火) 12:59:28.21ID:uoTEW6ZSa ところで何の話をしているのかね?
864デフォルトの名無しさん (ワッチョイ 3af1-VK1S)
2019/01/15(火) 13:10:35.80ID:adxfbmcy0 過去レス読めばいい
865デフォルトの名無しさん (ワッチョイ f9ff-VK1S)
2019/01/15(火) 15:48:52.44ID:O800IQzp0866デフォルトの名無しさん (ワッチョイ 16eb-Fjw0)
2019/01/15(火) 16:17:51.71ID:Q775hXRk0 トムとジェリー 仲良くけんかしな
トムトムトムにゃーご
ジェリージェリージェリーちゅう
トムトムトムにゃーご
ジェリージェリージェリーちゅう
867デフォルトの名無しさん (アークセー Sx85-rXi3)
2019/01/15(火) 17:18:14.06ID:biAsBETNx >>865
もうこの話題も飽きたので相手しないだけ。
もうこの話題も飽きたので相手しないだけ。
868デフォルトの名無しさん (ワッチョイ d663-VK1S)
2019/01/15(火) 17:23:42.61ID:TYEZC8N+0 昭和の香り
869デフォルトの名無しさん (アウアウウー Sa89-JzEj)
2019/01/15(火) 20:58:52.03ID:uoTEW6ZSa 昭和は遠くなりにけり
870デフォルトの名無しさん (ワッチョイ f9ff-VK1S)
2019/01/15(火) 21:44:31.19ID:O800IQzp0 >>867
バイバイ、イソップのキツネ君w
バイバイ、イソップのキツネ君w
872デフォルトの名無しさん (ワッチョイ ce02-H432)
2019/01/16(水) 17:45:04.86ID:ECRqnYoc0 そういやトムジェリって一作目が作られたのが1940年なのな。戦前だ。
それで延々と続いて2017年にもOVAのDVDが出ている。恐ろしく長寿だ。
まあディズニー関係が一番長寿なんだろうけどね。
それで延々と続いて2017年にもOVAのDVDが出ている。恐ろしく長寿だ。
まあディズニー関係が一番長寿なんだろうけどね。
873デフォルトの名無しさん (アウアウウー Sa89-/Mri)
2019/01/16(水) 17:49:16.09ID:ryLt0Gqla スーパーマンの1941年のアニメなんてすごいレベル高いよ
874デフォルトの名無しさん (ワッチョイ f9ff-VK1S)
2019/01/16(水) 22:19:46.42ID:+bYxL46c0 ENIACの頃か
875デフォルトの名無しさん (ワッチョイ c101-DeFq)
2019/01/17(木) 23:04:44.74ID:KvO4PGbE0 フラッグの状態によって引数を変更する必要があるのですが
どのやり方がベストでしょうか?
//A:冗長だけど単純で解りやすいと思う
if ( flag )
{
func(PARAM1, PARAM2, 1, "hoge1", 2, "hoge2", 3, "hoge3");
}
else
{
func(PARAM1, PARAM2, 2, "hoge2", 3, "hoge3", 1, "hoge1");
}
//B:いったん変数に入れてから function call
if ( flag )
{
n[0] = 1; n[1] = 2; n[2] = 3;
str[0] = "hoge1"; str[1] = "hoge2"; str[2] = "hoge3";
}
else
{
n[0] = 2; n[1] = 3; n[2] = 1;
str[0] = "hoge2"; str[1] = "hoge3"; str[2] = "hoge1";
}
func(PARAM1, PARAM2, n[0], str[0], n[1], str[1], n[2], str[2]);
どのやり方がベストでしょうか?
//A:冗長だけど単純で解りやすいと思う
if ( flag )
{
func(PARAM1, PARAM2, 1, "hoge1", 2, "hoge2", 3, "hoge3");
}
else
{
func(PARAM1, PARAM2, 2, "hoge2", 3, "hoge3", 1, "hoge1");
}
//B:いったん変数に入れてから function call
if ( flag )
{
n[0] = 1; n[1] = 2; n[2] = 3;
str[0] = "hoge1"; str[1] = "hoge2"; str[2] = "hoge3";
}
else
{
n[0] = 2; n[1] = 3; n[2] = 1;
str[0] = "hoge2"; str[1] = "hoge3"; str[2] = "hoge1";
}
func(PARAM1, PARAM2, n[0], str[0], n[1], str[1], n[2], str[2]);
876デフォルトの名無しさん (ワッチョイ c101-DeFq)
2019/01/17(木) 23:05:39.65ID:KvO4PGbE0 //続き
//C:テーブルその1
const int table[2][3] = {{1,2,3},{2,3,1},};
const char *stbl[2][3] = {{"hoge1","hoge2","hoge3"},{"hoge2","hoge3","hoge1"}};
i = flag ? 0: 1;
func(PARAM1, PARAM2, table[i][0], stbl[i][0],table[i][1], stbl[i][1],table[i][2], stbl[i][2]);
//D:テーブルその2 順番が違うだけの場合だったらこれでもいける
const int table[3] = {1,2,3};
const char *stbl[3] = {"hoge1","hoge2","hoge3"};
int order[2][3] = {{0,1,2},{1,2,0}};
i = flag ? 0: 1;
func(PARAM1, PARAM2, table[order[i][0]], stbl[order[i][0]],table[order[i][1]], stbl[order[i][1]],table[order[i][2]], stbl[order[i][2]]);
//E:三項演算子 これは無駄に比較が多くなるから無しかも
func(PARAM1, PARAM2, flag?1:2, flag?"hoge1":"hoge2",flag?2:3, flag?"hoge2":"hoge3",flag?3:1, flag?"hoge3":"hoge1");
//C:テーブルその1
const int table[2][3] = {{1,2,3},{2,3,1},};
const char *stbl[2][3] = {{"hoge1","hoge2","hoge3"},{"hoge2","hoge3","hoge1"}};
i = flag ? 0: 1;
func(PARAM1, PARAM2, table[i][0], stbl[i][0],table[i][1], stbl[i][1],table[i][2], stbl[i][2]);
//D:テーブルその2 順番が違うだけの場合だったらこれでもいける
const int table[3] = {1,2,3};
const char *stbl[3] = {"hoge1","hoge2","hoge3"};
int order[2][3] = {{0,1,2},{1,2,0}};
i = flag ? 0: 1;
func(PARAM1, PARAM2, table[order[i][0]], stbl[order[i][0]],table[order[i][1]], stbl[order[i][1]],table[order[i][2]], stbl[order[i][2]]);
//E:三項演算子 これは無駄に比較が多くなるから無しかも
func(PARAM1, PARAM2, flag?1:2, flag?"hoge1":"hoge2",flag?2:3, flag?"hoge2":"hoge3",flag?3:1, flag?"hoge3":"hoge1");
877デフォルトの名無しさん (ワッチョイ d352-nkt9)
2019/01/17(木) 23:16:19.13ID:lB4jgDBk0 >>875
ケースバイケース
ケースバイケース
878デフォルトの名無しさん (アウアウカー Sa6d-qoFL)
2019/01/18(金) 00:27:39.99ID:mQ1FzYrGa 引数が5個あるのはすでにおかしいという気もあ
879デフォルトの名無しさん (ワッチョイ c101-DeFq)
2019/01/18(金) 00:39:40.92ID:2Bf08m/t0 個人的にはAが好きだけど
こういうの馬鹿にする人いそうなのが困る
こういうの馬鹿にする人いそうなのが困る
880デフォルトの名無しさん (ワッチョイ 2945-QFgl)
2019/01/18(金) 01:55:40.31ID:b8LPMN8g0 引数でやりとりせず大域変数に渡したくなる
881デフォルトの名無しさん (ブーイモ MM33-YJMU)
2019/01/18(金) 01:59:06.15ID:9Rl7pqwkM 配列に入れてnとstr丸ごと渡せよ
882デフォルトの名無しさん (ブーイモ MMeb-yzLG)
2019/01/18(金) 02:04:58.72ID:4oORRjeGM 構造体に入れてポインタ渡さない?
883デフォルトの名無しさん (ワッチョイ 117b-g8bx)
2019/01/18(金) 05:44:13.01ID:APqq2jRu0 この範囲だけで言えば A が見通しが良くて分かりやすいんじゃないかな。
1, 2, 3 の並び方が(順列で)6通り存在するとか、
1 と "hoge1"... だけでなく、1 と "hoge2" の組み合わせも発生しうるとか、
func()の呼び出しパターンがもっと複雑だったら、
「flagの値に応じて適切な引数でfunc()を呼び出す関数」を作ると思う。
call_func(int flag, [func()に渡す引数]); みたいな感じ。
[func()に渡す引数] の部分を、カンマで区切った引数群にするか、
構造体にまとめるかは、別の要素が絡むので、強く主張できない。
1, 2, 3 の並び方が(順列で)6通り存在するとか、
1 と "hoge1"... だけでなく、1 と "hoge2" の組み合わせも発生しうるとか、
func()の呼び出しパターンがもっと複雑だったら、
「flagの値に応じて適切な引数でfunc()を呼び出す関数」を作ると思う。
call_func(int flag, [func()に渡す引数]); みたいな感じ。
[func()に渡す引数] の部分を、カンマで区切った引数群にするか、
構造体にまとめるかは、別の要素が絡むので、強く主張できない。
884デフォルトの名無しさん (ワッチョイ 13d2-5Edq)
2019/01/18(金) 06:01:14.41ID:5rrYPQ5i0 俺なら次のようにする。
void *a[]={1,&"hoge1",2,&"hoge2",3,&"hoge3",2,&"hoge2",3,&"hoge3",1,&"hoge1"};
func(flag?a:a+6);
void *a[]={1,&"hoge1",2,&"hoge2",3,&"hoge3",2,&"hoge2",3,&"hoge3",1,&"hoge1"};
func(flag?a:a+6);
885デフォルトの名無しさん (アウアウウー Sa15-4KIe)
2019/01/18(金) 15:49:59.44ID:dETdnGdxa >>875
その flag が 0 か 0 以外の値にしかならず 1 や 2 で違う動作になる事は未来永劫ない場合と、将来的になる可能性がある場合とでやり方は変えるかも知れない。
でも最初のやり方で良いんじゃないかな。あまり捻ると分かりづらくなるし。
flagの値によって何十通りもの違う呼び出しになるとかいうなら色々考えた方が後々良いのかも知れないが。
その flag が 0 か 0 以外の値にしかならず 1 や 2 で違う動作になる事は未来永劫ない場合と、将来的になる可能性がある場合とでやり方は変えるかも知れない。
でも最初のやり方で良いんじゃないかな。あまり捻ると分かりづらくなるし。
flagの値によって何十通りもの違う呼び出しになるとかいうなら色々考えた方が後々良いのかも知れないが。
886デフォルトの名無しさん (ワッチョイ 19ff-fAiL)
2019/01/18(金) 16:33:30.33ID:qQDJcXFa0 flagに1も2もあるかよ
Win32のGetMessageみたいなアホなケースはあるが
Win32のGetMessageみたいなアホなケースはあるが
887デフォルトの名無しさん (ワッチョイ 2100-b/bA)
2019/01/22(火) 14:42:25.83ID:Um5Ij+zI0 突然のステマ(OSSについてだけど)
LuaTeXっていうTeXのLua拡張?(よく分からん)に付いてくる
pplibっていうPDFライブラリおすすめ。
ドキュメント↓
https://serveur-svn.lri.fr/svn/modhel/luatex/trunk/source/texk/web2c/luatexdir/luapplib/html/ppapi.html#c-api
C向けのAPIでかなり最近に開発されたおかげか挙動が素直
LuaTeXっていうTeXのLua拡張?(よく分からん)に付いてくる
pplibっていうPDFライブラリおすすめ。
ドキュメント↓
https://serveur-svn.lri.fr/svn/modhel/luatex/trunk/source/texk/web2c/luatexdir/luapplib/html/ppapi.html#c-api
C向けのAPIでかなり最近に開発されたおかげか挙動が素直
888デフォルトの名無しさん (ワッチョイ d347-hFsF)
2019/01/22(火) 15:04:03.04ID:zFHfz07h0 >>887
みえない
みえない
889デフォルトの名無しさん (ワッチョイ 117b-g8bx)
2019/01/22(火) 15:24:29.26ID:rPWXpeN+0 Username for Subversion luatex repository
とか入力を求められるけど、何やら登録が必要?
とか入力を求められるけど、何やら登録が必要?
890デフォルトの名無しさん (ワッチョイ 2100-b/bA)
2019/01/22(火) 15:34:39.22ID:Um5Ij+zI0891デフォルトの名無しさん (ワッチョイ 2100-b/bA)
2019/01/22(火) 15:35:11.14ID:Um5Ij+zI0 ていうかごめん。普通に匿名SVNであることを書き忘れてたわw
892デフォルトの名無しさん (ワッチョイ 117b-g8bx)
2019/01/22(火) 15:47:59.14ID:rPWXpeN+0 こちらも Subversion の公開レポジトリでは anonsvn が一般的と知らなかった。
案内ページも表示されないんで完全会員制の秘密クラブの扉でも
ウッカリ開いてしまったのかと、少々慌ててしまった部分もある。
案内ページも表示されないんで完全会員制の秘密クラブの扉でも
ウッカリ開いてしまったのかと、少々慌ててしまった部分もある。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【社会】40代以上のおじさん・おばさんは叩いてオッケーという風潮はなぜ加速したのか [七波羅探題★]
- 自分に自信がない女の子、陽キャ美容室で80cmのエクステを付けた結果wwwwwwwwwwwwwwwwwww [329329848]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
- 農林水産省「春頃にはコメ価格落ち着くのでは」新米の取引価格、過去最高を更新。 [256556981]
