1 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 23:32:27.83 ID:yWVViPyIM.net] !extend:checked:vvvvv:1000:512 (新スレ立ての際上記コマンドを2行書き込んでください) C言語の話題のみ取り扱います C++の話題はC++スレへ 質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C17 www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf C11 www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C2x ドラフト www.open-std.org/jtc1/sc22/wg14/www/docs/n2731.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言語なら俺に聞け 158 https://mevius.5ch.net/test/read.cgi/tech/1640401906/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
155 名前:デフォルトの名無しさん (アウアウウー Sa8b-Ro21) [[ここ壊れてます] .net] >>143 3の倍数と4の倍数でずれるから 穴埋め方法の仕様嫁
156 名前:デフォルトの名無しさん (ワッチョイ e769-9TNW) mailto:sage [[ここ壊れてます] .net] 8bit目が立ってるデータだと char を size_t にキャストするとよろしくない可能性 あと末尾のパディング処理 最新は rfc4648 か
157 名前:デフォルトの名無しさん mailto:sage [2022/09/08(木) 10:12:47.05 ID:dSUuwrfW0.net] >>148 わざわざenum定義してるのに使うための変数をsize_tで宣言するとか意味わからんw
158 名前:デフォルトの名無しさん mailto:sage [2022/09/08(木) 10:22:53.70 ID:dSUuwrfW0.net] >>150 作った直後にunlinkすれば他のプロセスからは見えなくなるしプロセスが異常終了したら勝手に削除されるからunixの時代からテンポラリファイルのtipsとして有名だよ https://sonic 64.com/2004-12-07.html
159 名前:はちみつ餃子 mailto:sage [2022/09/08(木) 10:30:42.77 ID:MG9wnc1h0.net] >>148 主旨とはずれるが…… 下線で始まる識別子はファイルスコープで予約されている。 下線で始まって大文字が続く識別子は常に予約されている。 予約されている識別子についてなんらかの宣言・定義した結果は未定義。 入門用の解説でやってることもよくあるけど真似しちゃ駄目。 構造体タグは使わないなら省略してしまったほうがよいと思う。
160 名前:デフォルトの名無しさん mailto:sage [2022/09/08(木) 10:34:35.91 ID:0dKPxAYF0.net] >>150 >>155 ありがとう!すっきりした
161 名前:デフォルトの名無しさん mailto:sage [2022/09/08(木) 10:35:11.25 ID:0dKPxAYF0.net] >>150 →>>151 ね
162 名前:デフォルトの名無しさん mailto:sage [2022/09/08(木) 23:34:00.51 ID:QimgDhZ1M.net] >>148 解決したのか知らんけど、freadが必ずBUFSIZE分読み込むとは限らんぞ なので、直後のforループはnreadまでにしないとゴミを処理してしまう
163 名前:デフォルトの名無しさん mailto:sage [2022/09/09(金) 00:38:56.32 ID:eFldOldK0.net] >>159 ありがとう。まだ未解決。格闘中。 なんとかそこには気づいたんですが、どうすればeofまでの分読み込ませればいいかわからず、 結局1バイトづつ読み込ませるしかないのかと思ってましたが、nread分読み込ませればいいのか。 ただ、最終行以外もゴミデータが紛れ込んでいるようなのでそこの原因がなんなのか。
164 名前:148 mailto:sage [2022/09/09(金) 01:45:37.54 ID:eFldOldK0.net] 読み込むデータによってゴミデータが入ったり入らなかったりすることがわかった。 すごい厄介なバグだわ。某所から2進数表示する関数パクッて全部表示させてみると ある特定の箇所でスタックデータが0b11111....に初期化されているみたい。 https://ideone.com/HRogms 読み込みデータはこのプログラム”base64s.c”だとこの現象がでる。 何がまずいのかな。
165 名前:148 mailto:sage [2022/09/09(金) 01:56:18.41 ID:eFldOldK0.net] わかった。日本語部分が処理できてなかったことが原因だ。 vscodeでWindows、clangでコンパイルしているんだけど、freadで単純に読み込んで 出力すると日本語部分が文字化けしてしまうのはなぜ?
166 名前:148 mailto:sage [2022/09/09(金) 01:57:45.15 ID:eFldOldK0.net] 1バイトで読み込んでるから2バイト文字がうまく読み込めないということかな?
167 名前:148 mailto:sage [2022/09/09(金) 02:04:19.38 ID:eFldOldK0.net] 1バイトづつバイナリデータを読み込みしたかったので、fread(buf,...)の bufは char buf[BUFSIZE]; で宣言したのですがここが2バイト文字のバイナリ読み込むときにまずいんでしょうか。 単純に自分自身のコードを読み込んで標準出力に書き込むと文字化けする。 https://ideone.com/GvpcAm 010111....のビット列を単純に書き込んでいるという理解だったのですが、 そういうわけではないんですかね?
168 名前:デフォルトの名無しさん [2022/09/09(金) 02:19:22.29 ID:V/M3y8c30.net] >>153 が正しい size_t stack = (size_t)(unsigned char)c;
169 名前:デフォルトの名無しさん mailto:sage [2022/09/09(金) 02:52:44.78 ID:eFldOldK0.net] >>165 スタックデータが11111・・・に初期化されるという問題は直りました。 charだと11111111の取り扱いまずいんですね。 char 0~255 の値を格納できるという素朴な理解で使ってたんですが、 unsigned char と char ってどう違うのか、ざっと調べたんですけどよくわかんないですね・・・。
170 名前:148 mailto:sage [2022/09/09(金) 02:53:47.99 ID:eFldOldK0.net] >>153 読み返してみると鮮やかですね。昨日の段階では何のことやら?って感じでしたが。 ありがとうございます。
171 名前:デフォルトの名無しさん mailto:sage [2022/09/09(金) 03:37:48.54 ID:JkEyHRIQ0.net] >>166 >unsigned char と char ってどう違うのか unsigned charは符号なしで値域は 0 ~ 255 signed charは符号ありで値域は -128 ~ 127 charは処理系依存でsignedかもしれないしunsignedかもしれない 他の整数型にキャストしたり比較したりする時は特に注意が必要
172 名前:デフォルトの名無しさん mailto:sage [2022/09/09(金) 06:49:36.79 ID:Cx7xgzBv0.net] >>168 char は 8bit とは限らん、というのは置いといて > charは処理系依存でsignedかもしれないしunsignedかもしれない charはsigned charやunsigned charとは違う型だよ https://www.jpcert.or.jp/sc-rules/c-str04-c.html
173 名前:デフォルトの名無しさん [2022/09/09(金) 10:32:00.65 ID:PQbAFFlG0.net] 数値と文字コードの認識の違いはどこらへんに出てくるのでしょうか?
174 名前:デフォルトの名無しさん [2022/09/09(金) 16:58:25.15 ID:ZqL3j+SP0.net] 環境依存によるとこが多すぎて、その都度環境に応じて調べるしかない プログラム全般に言える事
175 名前:デフォルトの名無しさん mailto:sage [2022/09/09(金) 20:26:03.68 ID:wh55t5+tM.net] 文字はutf-8でも一文字が数バイト必要な事があるので、charはもはや要らない子と言える バイト列を使いたければuint8_tを使って、ちゃんと文字として扱うなら、wchar_tとかchar32_tを使うべきだろうね
176 名前:デフォルトの名無しさん mailto:sage [2022/09/09(金) 20:34:47.77 ID:AfgZ2PrAM.net] なお中国や日本、韓国などに限る
177 名前:デフォルトの名無しさん mailto:sage [2022/09/09(金) 21:21:58.31 ID:CwUslwUl0.net] wchar_tこそ要らない子やん お前一体何バイトなんだよ
178 名前:デフォルトの名無しさん mailto:sage [2022/09/09(金) 23:02:27.43 ID:JkEyHRIQ0.net] >>169 >char は 8bit とは限らん、 うん、その指摘はされると思ってた。 >charはsigned charやunsigned charとは違う型だよ なるほど、その認識はなかったは。
179 名前:デフォルトの名無しさん mailto:sage [2022/09/09(金) 23:22:11.84 ID:qKP12tcq0.net] 自分はvb→C言語→機械語だけど 機械語知らないとダメだよなって思ったわ 大体CPUの仕様と合わせるんだよな 8bitも昔のCPUの慣習出しさ だからプレステのCPU大好きとかライゼンサイコー、いやいややはりインテルだろう なんて言う自作オタがやり始めるとかなり速いんだよな 自作PCの構造はCPUの中身に似てるから
180 名前:デフォルトの名無しさん mailto:sage [2022/09/10(土) 00:37:03.60 ID:d6i83HiwM.net] >>174 Windowsだと2byteでLinuxだと4byteだな しかしバイト数を気にしてはいけない 気にしなければ可搬性のあるコードを書ける
181 名前:148 mailto:sage [2022/09/10(土) 02:16:33.70 ID:bSy2C3T30.net] 文字化けのところは手に負えないですが、おかげさまでbase64エンコーディングプログラムが完成しました。 ここで言われたことは全部含めてみました。 構造体のタグ、enum型、charじゃなくてuint8_t、終端処理など。 https://ideone.com/7wolLZ コードが汚いなど直すところありましたらどしどしご意見ください。 とりあえず、最初に使ってみる言語はbase64エンコーディングプログラムを組んでみて なれてみようという方針なので。 次はVBAで組んでみるか、sha256プログラムをC言語で組んでみようか考えてます。
182 名前:デフォルトの名無しさん (ワッチョイ adc2-+Wio) mailto:sage [[ここ壊れてます] .net] struct tmって、冗長な設計になってるよね たとえば tm_mon == 1 && tm_mday == 1 なら tm_yday == 0 のはずだけど tm_yday >= 1 にもなれる こういう矛盾がある場合の扱いって規格票のどっかに書いてあったっけ?
183 名前:デフォルトの名無しさん mailto:sage [2022/09/11(日) 14:26:36.00 ID:Y1sYJFelM.net] たとえば規格書のmktimeにはカレンダー時間で表現できなければ-1を返すって書いてあるかそう実装するのが正しそうだけども
184 名前:はちみつ餃子 mailto:sage [2022/09/11(日) 14:31:15.93 ID:D/VbhUuk0.net] >>180 tm_yday は無視するとも書いてあるぞ。
185 名前:デフォルトの名無しさん mailto:sage [2022/09/11(日) 14:32:58.51 ID:LP1WepGR0.net] レス㌧x カレンダー時間で表現できるか否かということは tm_year, tm_mon, tm_mdayのことで、tm_ydayには該当しない議論だよね 逆にtm_ydayに合わせるように補正はしないとなると ここに優先順位があるのかな
186 名前:デフォルトの名無しさん mailto:sage [2022/09/11(日) 14:34:54.92 ID:LP1WepGR0.net] すまん、ちょっと外出する 夜には戻る
187 名前:デフォルトの名無しさん mailto:sage [2022/09/11(日) 14:37:22.22 ID:Y1sYJFelM.net] あらほんとだ。戻り値の説明しか見てなかったわ
188 名前:デフォルトの名無しさん mailto:sage [2022/09/11(日) 15:00:19.15 ID:hGIJSvzu0.net] >>182 そもそもtm_wdayとtm_ydayは更新されるって書いてあるし 関係ないけど ・tm_mday: 1 から 31 の範囲の日付。 ・tm_mon: 1 月からの月数 (0 から 11 の範囲)。 なのは毎回もやるわ、なぜ両方0スタートじゃないのか...
189 名前:はちみつ餃子 mailto:sage [2022/09/11(日) 15:04:45.97 ID:D/VbhUuk0.net] >>185 月は (英語では) 月の名前に置き換える (配列から名前を引く) という都合から自然にそうなったという説は聞いたことがあるな。 日は番号をそのまま表示するもんだから最初から番号通りのほうが都合がいいし。
190 名前:デフォルトの名無しさん mailto:sage [2022/09/15(木) 17:53:22.84 ID:gNCVLuZy0.net] ローカル変数の宣言で、宣言しようとしているポインタの初期化子に、同じ文で 宣言された変数を参照するのは規格上OKですか? /* test1.c */ 1 | int main(int argc, char **argv) 2 | { 3 | char s[100] = {'A'}, *p = s; 4 | int i = 10, *a[10] = {&i}; 5 | return 0; 6 | } 最新の gcc で試したところ、-std=c89 -pedantic の場合に下記の警告が出ます。 特に3行目が OK で、4行目が駄目な理由がよく分からないです。 どちらもスタック上の相対位置はコンパイル時に決まると思うのですが。 Cの文法について詳しい方、教えてください。 gcc --version gcc (GCC) 12.2.1 20220819 (Red Hat 12.2.1-1) gcc -O0 -std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -c test1.c test1.c: In function ‘main’: test1.c:4:27: warning: initializer element is not computable at load time [-Wpedantic] 4 | int i = 10, *a[10] = {&i}; | ^ gcc -O0 -std=c99 -pedantic -Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -c test1.c 警告なし
191 名前:デフォルトの名無しさん mailto:sage [2022/09/15(木) 20:06:58.44 ID:C6syfEgyd.net] C99より前は集成体(配列、構造体)に対する初期化子定数式(アドレス定数式)でスタックは認められていないっぽい 3行目の初期化対象は配列じゃないでしょ
192 名前:デフォルトの名無しさん mailto:sage [2022/09/16(金) 06:50:50.62 ID:jyhWPRLZ0.net] int main(void) { int a = a; } これもOKなんだが
193 名前:デフォルトの名無しさん (スッププ Sd0a-39XR) mailto:sage [[ここ壊れてます] .net] >>189 スタック上のアドレスを使ってポインタを初期化できるかって話だろ
194 名前:デフォルトの名無しさん mailto:sage [2022/09/16(金) 19:31:34.25 ID:alBs0lLWd.net] >>187 {&i}だけだったら初期化は簡単だけど その書き方だと本来{&i,&グローバル変数,NULL...}などと書けるのでそうなると特殊な初期化が必要になるんじゃないかな
195 名前:デフォルトの名無しさん mailto:sage [2022/09/16(金) 19:59:25.14 ID:u2ZYVkG20.net] 一見 スタックに実体をもつ配列の先頭はセーフで (3行目) スタックに実体をもつ変数のポインタはアウトというふうに見えるけど (4行目) { } の中か否かの差もあるんやね
196 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 00:57:57.08 ID:GfZyyjDu0.net] >>190 そんなん言い出したら自動変数をポインタで指せるのかさえ怪しくなってくるな
197 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 12:49:57.03 ID:fh691Hyrd.net] スコープ内でアドレスが参照されたならば 自動変数はレジスタ変数にはならなくなる 「自動」の意味
198 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 19:52:14.52 ID:fgoWI+8da.net] win10(以下win) strawberry perl入れた時一緒にいれたgcc wsl ubuntu22.04 gcc どっかでみた配列関係のサンプルで (間違えるとnull見つかるまで一生探し続けるよ的なコード) で試したら winで値がおかしい linuxで正しい とりあえずwin側でgdbで見ると winで格納アドレスが逆順になってました 例えばコード上で array1うんたら array2かんたら とあって array2がアドレス100番台 array がアドレス200番台 みたいになってました この挙動は環境依存なのかバグなのか知りたいです まぁ結局両方windowsなんですが
199 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 19:56:51.12 ID:ZRyqS0700.net] ネットワークオーダーとかエンディアンとかが絡んでる可能性はあるけど、コードを見ないとなんとも
200 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 20:03:08.34 ID:PxOaZq6Kd.net] >>195 抽象的すぎて全然わからんw
201 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 20:04:45.56 ID:fgoWI+8da.net] コードは https://www.delftstack.com/ja/howto/c/length-of-char-array-in-c/ 手入力でミスってたらごめんなさい
202 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 20:08:18.29 ID:fgoWI+8da.net] 因みにこっちのwin環境だと 上サイトで24byteになるはずの所が10byteになります
203 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 20:22:45.77 ID:ZRyqS0700.net] strlenのことか? 文字列と違ってchar配列の末尾には自動的にnull挿入されたりしないから、nullまで数え上げるstrlenが何を返すかわからないし、環境によってはメモリアクセス違反で落ちるかも
204 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 20:26:08.77 ID:fgoWI+8da.net] いや多分違います アドレスが逆 多分ここが重要なんですがその原因が と言うところです
205 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 20:44:25.86 ID:LY5v/fLv0.net] 環境依存です ゼロで終端されていないものにstrlenを呼んではいけません そのコードが誤り
206 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 20:51:16.94 ID:I+4Vfslra.net] うーん そう言うことじゃなくて・・・ なんでメモリアドレスの格納が逆になるの? と言うところです cの規格的な話じゃなくてですね・・・
207 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 20:58:26.77 ID:LY5v/fLv0.net] そのページを作った人の環境(コンパイラとバージョン)ではarr,arr2の順で あなたの環境ではarr2,arrの順なんでしょ たまたまそうなっただけです
208 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 21:10:35.35 ID:I+4Vfslra.net] 文系脳で行き着く先っていつもそうなんですよね でも残念ながら「それ」がないんですよ この世界 たまたま なんかわかんないけど 偶然 楽しけりゃいいじゃん なんで生きてるのお前? 馬鹿は嫌い 回線で首でも吊ってろカスが ジパング馬鹿しかいないからもう寝る
209 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 21:15:00.75 ID:W7nqA9Zmd.net] オタクくん怒って寝ちゃったw
210 名前:デフォルトの名無しさん [2022/09/17(土) 21:44:56.47 ID:njcq0eeLa.net] スタックはアドレス高位から低位の方向に積まれることが多いから、arr2のアドレスがarrのそれより小さくなるとかですかね
211 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 21:46:48.25 ID:aOSn8JHC0.net] そういう人を落とし込める記述はやめよう
212 名前:デフォルトの名無しさん mailto:sage [2022/09/17(土) 23:27:39.41 ID:eA0eWCp60.net] スタックの方向などは環境依存だろ 環境依存は他にも、little/big endian とか、 char が、0〜255, -128〜127 のどちらなのかとか 文字コードが、BOM 無しUTF-8 以外とか
213 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 01:46:10.06 ID:3xNGEVex0.net] gdbの使い方、ここで質問してもいいですか?
214 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 02:19:18.49 ID:OVhdQ/fk0.net] >>210 大きく言語自体から脱線するようだとあまりよくないかなと思うけど、 ささいなことなら多少は良かろうと思うし、程度次第じゃね。
215 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 02:40:43.36 ID:3nFqfKLUH.net] >>209 UTF-8 に BOM は本質的に不要です なぜならば BOM = Byte Order Mark ですが、UTF にバイトオーダーなど存在しません BOM なし、と断ること自体、頭が悪い証拠を如実に表出していると愚考させていただきます 馬鹿は死ね
216 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 02:43:34.57 ID:Z+lYrLLqa.net] はじめてのC言語完全入門!【Hello World〜ポインタまで徹底解説】 91,121 回視聴 freeCodeチャンネル
217 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 03:28:52.56 ID:OVhdQ/fk0.net] >>212 BOM はエンコード方式の識別に使われる場合もあると公式 (unicode consortium) の資料に書かれている。 BOM が BOM という名前である以上は本来の用途からの転用ではあるが、 バイトオーダーだけを根拠にして不要と断じるのはエンジニアリング的に良い姿勢ではないな。
218 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 04:26:41.31 ID:GkyrVNWr0.net] >>212 いい大人がバカとか4ねとか言ってるの見ると悲しくなってくるわ 人付き合いをろくにしてこなかった精神的にガキのおっさん痛すぎる
219 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 05:15:19.35 ID:fdsnSmbGd.net] >>205 めちゃくちゃだよアンタw 文系ポエムは他でやんなさい
220 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 05:26:48.38 ID:fdsnSmbGd.net] >>205 よく見るとそのページ内容がむちゃくちゃだなw データが格納される順番はコンパイラ依存なのでそんなサンプルコードは作ってはいけない 「まず、arr のオブジェクトサイズは 24 バイトと表示されますが、」じゃねえよw 「内部の詳細を無視してしまうと恐ろしいエラーが発生する可能性があります。」もう起こっているw 以上
221 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 10:38:22.56 ID:kY5VkQwD0.net] >>198 そもそも上のコード size = 24 bytes size = 17 bytes この2つはどこから出てきたんだ? printCharArray のあとの printf("size = %lu bytes \n", ... ); はひとつしかないのに >>195 array1とarray2がそれぞれスタックに積まれるなら array2、array1の順は正しいし array1とarray2がリテラルとしてコード上に存在するならarray1、array2の順は正しい ただの最適化の問題じゃないのか
222 名前:デフォルトの名無しさん [2022/09/18(日) 13:53:49.44 ID:KpBP36NGa.net] 文系は全称と単称の区別が出来ない 大抵の馬鹿はこれで判別出来る
223 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 14:04:23.72 ID:CIgAfYZs0.net] そういう表現も、大体根拠が希薄 血液型占いと同程度
224 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 14:12:29.01 ID:Rev08jtKa.net] >>203 規格では一切順序の保証はないので 同じ結果が欲しければそのぺーじと同じ環境を用意してください
225 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 18:22:49.00 ID:JcdidFMxd.net] 機械翻訳まるだしだし Pythonのおまけで載ってるだけだから そんなページあてにするなとしか
226 名前:デフォルトの名無しさん [2022/09/18(日) 18:23:22.20 ID:rN2/Bhfe0.net] >>212 Windowsのメモ帳でUTF-8で保存するとBOMが先頭に入った状態になるよね。 そういう変な出力をするソフトがあるせいでUTF-8なのにBOMの有無を意識しなきゃいけなくなるんだよ。
227 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 19:08:21.37 ID:OVhdQ/fk0.net] >>223 UTF-8 ではない形で保存されている可能性はいつでもあるわけだが……。
228 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 19:35:00.75 ID:CIgAfYZs0.net] メモ帳で保存する場合、選択はこの中から https://i.imgur.com/eJf3vLE.png
229 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 20:14:09.21 ID:tcByEu8Hd.net] wcharはutf8圧に負けて廃れるんかね Cのようなロートル言語使ってると固定幅(但し幅は決まっていない)エンコの有り難みをひしひしと感じる
230 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 21:11:58.46 ID:/3elu/X80.net] ストレージはutf-8 メモリーはwchar_t じゃね?
231 名前:デフォルトの名無しさん [2022/09/18(日) 22:03:00.04 ID:rN2/Bhfe0.net] >>225 それでBOM付き選んじゃうやつが居るんだろうな。選択肢無くして欲しいものだ。
232 名前:デフォルトの名無しさん [2022/09/18(日) 22:05:23.89 ID:rN2/Bhfe0.net] >>226 入出力でJavaみたいに変換すれば良いじゃん。 iconvライブラリとか使って。
233 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 22:23:37.69 ID:zhWgY60z0.net] >>229 ふぇふふ…
234 名前:デフォルトの名無しさん (ワッチョイ 9f2c-ret5) mailto:sage [[ここ壊れてます] .net] メモ帳は、BOM 付きUTF-8 になるから、ダメ BOM無しUTF-8は、VSCode, サクラエディタなどを使う。 TeraPad は、新し目の文字に対応していないので、ダメ
235 名前:デフォルトの名無しさん (ワッチョイ 9f63-E+l9) mailto:sage [[ここ壊れてます] .net] メモ帳、デフォルトでBOM無しで保存する BOM付けるにはセレクトで一番下を選ぶ操作が必要
236 名前:デフォルトの名無しさん (テテンテンテン MM3f-2Jl6) mailto:sage [[ここ壊れてます] .net] UnicodeのBOMはUTF-{8, 16, 32}で並び順が違うから判別に使える 逆に無いと推測に頼るしかない メモ帳はSJISのテキストを開かれることもあるから、BOM無しUTF-8の場合は推測している BOMが有れば確実に判別出来る なのでBOM付きUTF-8は悪くない
237 名前:デフォルトの名無しさん (ワッチョイ 5701-dv3E) [[ここ壊れてます] .net] WindowsではBOM付きのほうが便利だけどね。
238 名前:デフォルトの名無しさん [2022/09/18(日) 23:12:31.63 ID:a87PubfG0.net] gccもBOMに対応したことですし。
239 名前:デフォルトの名無しさん mailto:sage [2022/09/18(日) 23:23:26.35 ID:CUVLEdWC0.net] UTF-8にBOMが要らないと主張しているのは今の現実について言っているわけじゃなくて 「UTF-8しか存在しない美しい世界」を目指している活動家だからな。 説明したところで話が?み合わない。
240 名前:212 mailto:sage [2022/09/19(月) 00:00:08.46 ID:hV59E8S+H.net] >>236 よくわかっていますね、実はそうなんですよね
241 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 00:15:30.26 ID:YVA4ZVOh0.net] 自覚したなら今度からはバイトオーダーにかこつけたアホな主張はやめとけよ。
242 名前:ハノン mailto:sage [2022/09/19(月) 00:18:28.74 ID:hV59E8S+H.net] 美しい世界(爆笑)のために、今後も活動を続けていきます!
243 名前:デフォルトの名無しさん [2022/09/19(月) 02:37:34.04 ID:Z9ZARiSG0.net] ユニコードの上位セットであるGB18030もあるんだけど。
244 名前:デフォルトの名無しさん [2022/09/19(月) 11:10:12.09 ID:NE4NRLG3F.net] >>236 そんなあなたに Nim がおすすめ
245 名前:デフォルトの名無しさん [2022/09/19(月) 11:11:36.70 ID:NE4NRLG3F.net] >>233 ASCII (8bit以内) しかないテキストに BOM 付いてたらさすがにうざいと思う
246 名前:ハノン mailto:sage [2022/09/19(月) 11:21:09.68 ID:PpMrjNAJH.net] >>242 ですよね! コードは普通コメントも英語で書くし、なんで BOM がつかなきゃならないのか意味不明なんですよ、ましてや UTF-8 に BOM つけてもいい規約なんて後付けなんでしょう? 美しい世界(爆笑)のために今日もがんばります!
247 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 11:40:57.93 ID:YVA4ZVOh0.net] >>241 まさに今、話が噛み合わないことを痛感した。
248 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 11:41:54.30 ID:zeLiCYh20.net] なくても使えるなら、ない方が良い
249 名前:はちみつ餃子 mailto:sage [2022/09/19(月) 11:43:27.96 ID:npVSxydm0.net] どれでもいいけど規格で決めないという対処には愚痴を言いたくもなる。
250 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 11:55:32.42 ID:M3xsgC0JM.net] >>242 ウザいの定義を言え 普通にテキストエディタで編集してるだけなら気付きもしないだろう
251 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 12:00:13.75 ID:zeLiCYh20.net] 気付かなかったあなたはたぶん幸せ者です
252 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 12:13:35.24 ID:b1CdxAyP0.net] 10年前ならともかく今時BOMの有無で困ることなんてほぼなくね?
253 名前:デフォルトの名無しさん [2022/09/19(月) 12:30:39.37 ID:/08McGz80.net] BOMなしUTF-8のデータを読ませるとエラーになるプログラムを作ったやつがいる。 こういうやつをどうするべきか?
254 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 12:33:02.11 ID:zeLiCYh20.net] 市中引き回しのうえ、磔獄門で
255 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 13:00:37.09 ID:YVA4ZVOh0.net] 仕様で読めることになっているのにエラーになるならバグだがそうでないなら読ませる方が悪い。 日本語Windows向けアプリの大半はそうだな。
256 名前:デフォルトの名無しさん [2022/09/19(月) 13:09:05.53 ID:/08McGz80.net] 仕様ではUTF-8と書いてあるだけ。ならばBOMの有無に関係なく読めるようにするべき。
257 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 13:13:10.64 ID:zeLiCYh20.net] 仕様ではUTF-8と書いてあるなら、あったら読み飛ばせば良いだけだな
258 名前:デフォルトの名無しさん [2022/09/19(月) 13:29:40.55 ID:/08McGz80.net] にも関わらずBOMがないとわざわざエラーを出して終わる
259 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 13:40:15.70 ID:b1CdxAyP0.net] 単なるバグだろ、とっとと直させろよ
260 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 14:03:09.97 ID:Y3ojWtlT0.net] > こういうやつ BOMなしUTF-8のデータそのものを修正したいのか BOMなしUTF-8のデータを読めるようにプログラムを修正したいのか プログラムを作ったやつに復讐したいのか どれだ
261 名前:ハノン mailto:sage [2022/09/19(月) 15:32:18.43 ID:PpMrjNAJH.net] BOM はもともと UTF-16 のためのものでしょう? それを、UTF-8 に対しても無条件に BOM をつけてしまうウンコエディターを量産している奴等に問題があるん
262 名前:ナすよ… また、正直にいって、規格で決めればいいとかいう思考停止にも我慢ならないんですよ 美しい世界(爆笑)のために今日もがんばります! [] [ここ壊れてます]
263 名前:デフォルトの名無しさん [2022/09/19(月) 15:34:28.84 ID:Z9ZARiSG0.net] HTMLもBOM推奨してなかったっけ。
264 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 15:56:49.87 ID:zeLiCYh20.net] HTMLの場合、「BOM」付けると、PHP で謎の空白ができてしまう など動作や表示に不具合が出る可能性があるそうです。
265 名前:デフォルトの名無しさん [2022/09/19(月) 16:04:04.51 ID:Z9ZARiSG0.net] それは、BOM付けるのがPHPの仕事だからじゃないの?
266 名前:デフォルトの名無しさん [2022/09/19(月) 16:20:33.07 ID:x76VqF340.net] PHPは中途半端に歴史が古いから、Unicodeといえば、UTF-16なんだよな。 でもそのおかげでWindowsとの相性は悪くない。
267 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 16:20:51.69 ID:zeLiCYh20.net] そもそも UTF-8 には、エンディアンの違いがなく、BOM(バイトオーダーマーク)を付ける必要がないんだそうだ
268 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 16:22:57.02 ID:zeLiCYh20.net] HTMLの場合はHEADに使っている文字コード情報が入っているのでそれを見れば良い事になる
269 名前:デフォルトの名無しさん [2022/09/19(月) 16:25:44.76 ID:Z9ZARiSG0.net] >>264 たしか規格でBOMを優先することになってなかったっけ?
270 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 16:33:42.03 ID:zeLiCYh20.net] 文字列としてバイトオーダーが実際に問われるのは、 UTF-16やUTF-32のケースだけです その場合は必要ですね
271 名前:デフォルトの名無しさん [2022/09/19(月) 16:34:41.81 ID:Z9ZARiSG0.net] 確認したところ、なってたわ。 HTMLパーサー書いたことがあるから、おぼろげに覚えてた。
272 名前:デフォルトの名無しさん [2022/09/19(月) 16:46:36.41 ID:Z9ZARiSG0.net] ・BOMがある場合、BOMに従う。 ・ない場合、500ms、あるいは1024バイト読み込むまで待機し、エンコーディング走査アルゴリズムを呼び出す。 エンコーディング走査アルゴリズム内で、ヘッダー内の情報が読み取られる場合もある。 (このアルゴリズムでも、他に優先される情報がある。) やはり、HTMLにおいては、BOMをつけるべきだな。 読み込みが速くなるし、文字コードの違いを利用した攻撃を避けることが出来るし。
273 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 16:47:54.37 ID:zeLiCYh20.net] HTMLの場合は、HEADに使用するcharsetが記述されてますから心配ありません
274 名前:デフォルトの名無しさん [2022/09/19(月) 16:48:57.21 ID:Z9ZARiSG0.net] 昔の外国映画で「ふにゃちん野郎が!」という悪口があったよね。 今後は「BOM無し野郎が!」と言うことを提案いたします。
275 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 16:49:03.30 ID:zeLiCYh20.net] それにUTF-8にはバイトオーダーがありません
276 名前:デフォルトの名無しさん [2022/09/19(月) 16:50:38.05 ID:Z9ZARiSG0.net] >>269 規格上、BOMのほうが優先される。 BOMがある場合、エンコーディング走査アルゴリズムは呼び出されない。 BOMをつけましょう。
277 名前:デフォルトの名無しさん [2022/09/19(月) 16:52:03.62 ID:Z9ZARiSG0.net] BOMをつけないとセキュリティ上の問題がある。
278 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 16:52:15.94 ID:zeLiCYh20.net] 付けたWebサイトをここで公開して下さい 楽しみにしています
279 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 17:25:06.78 ID:UNULYZvbM.net] すべてのUTF-8にBOMがついてたらSJISはもっと早く消えてくれたと思うんだよね
280 名前:デフォルトの名無しさん [2022/09/19(月) 17:31:57.08 ID:Z9ZARiSG0.net] この話題は、BOMをつけましょうということで、良いのでは?
281 名前:ハノン mailto:sage [2022/09/19(月) 18:02:53.27 ID:PpMrjNAJH.net] >>276 違います BOM を付けるべき正統な理由がある時には付け、特に理由がなく惰性で付けてるんだったらやめよう、です
282 名前:デフォルトの名無しさん [2022/09/19(月) 18:05:47.85 ID:Z9ZARiSG0.net] BOMを付けていない人を見かけたら、注意して差し上げましょう。 ということで、良いのでは?
283 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 18:12:09.41 ID:iQkZER0Ad.net] テキストファイルを開いたとき最初の三文字がゴミかどうかいちいち判断するの? 2つのテキストファイルを結合するときゴミをひとつにまとめる処理するの? BOMという考えが誤りなんだよ
284 名前:デフォルトの名無しさん [2022/09/19(月) 18:14:42.87 ID:Z9ZARiSG0.net] 法令でBOMを義務付けるべきでは? BOMが無かったら通報するみたいな。
285 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 18:15:00.74 ID:zeLiCYh20.net] Windowsの一部アプリでBOMがないと動作不具合起こすんだよ Officeとか、Officeとか、その辺 この辺への思いやりが必要な時は付けてあげると良い
286 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 18:19:47.40 ID:BENNO3a0H.net] >>278 それに加えて BOM を無駄につけている人を見かけたら、注意して差し上げましょう、も追加してください。
287 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 18:20:53.56 ID:BENNO3a0H.net] >>280 その法令は間違っていますね 正直いって、規格で決めればいいとかいう思考停止にも我慢ならないんですよ 美しい世界(爆笑)のために今日もがんばります!
288 名前:はちみつ餃子 mailto:sage [2022/09/19(月) 18:22:38.11 ID:npVSxydm0.net] >>279 ふたつのテキストファイルが Unicode である保証もない。 メタ情報で保証があるなら BOM があっても困らないし、 保証がないなら BOM があろうがなかろうが困る。
289 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 18:23:22.11 ID:BENNO3a0H.net] >>281 たしかに office とか office とか office とか office とかに思いやりを示す寛大な処置ということであれば、付けて差し上げることにやぶさかではないのですけれどもね
290 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 18:27:12.50 ID:YVA4ZVOh0.net] >>277 後半に関して言えば、そのテキストがどのエンコードを用いているかが他の手段で示されているなら BOMは用いるべきではないとされているからそれに従えばいい話だね。 「俺が扱うテキストは全部UTF-8に決まってるんだからBOMは要らない」という自己中心的な主張と 混同してくれなければいい。
291 名前:デフォルトの名無しさん [2022/09/19(月) 18:28:42.31 ID:Z9ZARiSG0.net] まあ私はどちらでも良いんですけれども。 (レイヤード・ストリームをつこてますので) gccがBOMに対応したのだから、BOM付ける陣営の勝利では?
292 名前:デフォルトの名無しさん [2022/09/19(月) 18:33:34.93 ID:Z9ZARiSG0.net] ところで明日は地下鉄が止まるかもしれないので、調べておいた方が良いですよ。
293 名前:デフォルトの名無しさん [2022/09/19(月) 18:35:51.09 ID:Z9ZARiSG0.net] わたくし思うのですが、BOMに対応しないソフトウェアを企画してしまう技術者って、もはや技術者で無いのでは? ユーザーが必要としてるわけですからね。
294 名前:デフォルトの名無しさん [2022/09/19(月) 19:59:29.61 ID:x76VqF340.net] WindowsはBOMがあった方が判別しやすいが、LinuxやUNIXはBOMがあると余計なものが付いているという感じになる。 マルチバイト圏への配慮が足らなかったマイクロソフトが一番悪い。 だいたい2バイトで漢字がすべて収まると思ったアメリカ人に対して、早く日本人が漢字は何万字もあると教えなかったのが失敗だった。
295 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 20:35:04.98 ID:EmjBwTYRd.net] BOMキチガイども
296 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 20:42:51.60 ID:F9okSTEiM.net] MS-DOSの頃は、これで十分って思ってたからな。
297 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 21:05:32.45 ID:BENNO3a0H.net] >>290 >だいたい2バイトで漢字がすべて収まると思ったアメリカ人 CJK 漢字統合なんて醜い仕様のひと言に尽きますよね >>286 自己中心的、という言葉の使い方が間違っていますよ その昔は Shift-JIS, JIS, EUC が入り乱れまくっていましたが、だれもテキストデータにエンコードを示すプリフィックスを付けようなどとは思わなかった事実があります UTF-8 にバイトオーダーマークなんか絶対に不要なのにバイトオーダーマークを安易につける発想そのものが自己中心的なのでは? 美しい世界(爆笑)のために今日もがんばります!
298 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 22:08:36.69 ID:YVA4ZVOh0.net] 「俺が扱うテキストは全部UTF-8に決まってるんだからBOMは要らない」というのが自己中心的な主張だと言ったんだが? こんな単純な日本語の文章すらまともに読解できない奴に間違ってるとか言われても困惑するわ。
299 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 22:24:33.90 ID:BENNO3a0H.net] >>294 同じことを繰り返しますが、 ①過去、エンコードの違うテキストを各種取り扱っていたからといって、「テキストの内部に恣意的にエンコードを示すマークを入れる」などという自己中心的なことをした歴史はなかったのです。 特にそういうことをしたいときは、ソースコードにその言語のコメントでエンコードを示す、くらいの配慮をしていたものです ②UTF-8 でエンコードされている限り、そのコンテンツがアスキーコードのみで構成されているのならば、特にバイトオーダーコードは不要で、as is で使えるように、欧米諸国に配慮した設計です 特に②が重要で、バイトオーダーコードを要れずとも、C のソースコードは UTF-8 であれば普通にコンパイルできる、はず、なのに、なぜわざわざバイトオーダーコードを付加して既存の処理系がそのままでは使えなくなってしまったのか? コンパイラは MS-VC だけではなく、gcc も clang も lsi-c (w)もあるというのに、既存のコンパイラの動作を妨害してまで、バイトオーダーコードを付加するエディター側の方が自己中心的といえるのではないでしょうか? そしてエンコードを示すマークなどではないバイトオーダーマークをエンコード種を示すマークに乱用するしている二重の矛盾も指摘しなければなりますまい 私の言っていることがわかりますか?
300 名前:デフォルトの名無しさん [2022/09/19(月) 23:05:07.14 ID:/08McGz80.net] >>264 そのHEADの箇所に行くまでエンコードが分からないのだよな? そこまでどうやって読むのか? まあ、現実問題としてASCIIで入れておきゃいいわけだけど、厳密にはそれじゃいかんよな。
301 名前:はちみつ餃子 mailto:sage [2022/09/19(月) 23:10:53.08 ID:npVSxydm0.net] >>290 エンコード切り替えの規格は ISO/IEC 2022 がある。 PC-9801 時代あたりにはマニュアルで KI/KO コードという名前で説明されていた。 ヨーロッパ言語も ISO/IEC 8859 として十種類以上の文字セットが定義されているんだ。 日本での事情以上に混在は深刻な問題であって、対処する規格は当然ある。
302 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 23:18:33.90 ID:a+e8LTLZH.net] >>296 おっしゃるとおり、そこまでは、ただのアスキー7bit で記述するんですよ 大概は第一行目にエンコード種をアスキーで書くものでしたけれどもね 厳密っていうけれども、あなたのおっしゃる厳密の意味がよくわかりませんね
303 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 23:19:31.82 ID:a+e8LTLZH.net] >>297 英語が一番簡単で、ウムラウトとか苦労していたと思いますよ、ウムラウトは確か 7 ビット領域に侵食していたような気が
304 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 23:23:44.77 ID:a+e8LTLZH.net] >>297 おっと、私のいっていたことが少し不正確でしたね、たしかに KI/KO は生 JIS にありましたね
305 名前:はちみつ餃子 mailto:sage [2022/09/19(月) 23:40:42.70 ID:npVSxydm0.net] 自然言語なんて数千年単位の歴史的経緯の塊だ。 その文字も。 綺麗に整理しようとしたって元がグダグダなんだからどこかしらでグダグダになる。 そんでそのグダグダをひとつに寄せ集めたのが Unicode なんだぞ。 そりゃグダグダで当たり前だし、そういうもんだと思うしかしょうがないだろ。 そんでもって Unicode がかなり広まったといっても従来の文字コードが消滅したわけでもない。 https://xkcd.com/927/
306 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 23:43:18.98 ID:a+e8LTLZH.net] >>240 チャイナ規格ですか‥‥(差別意識満々) 調べてみましたが基本的に4ビット固定長であり、UTF-8 を包含してはいないようですね、UTF-8 の上位規格というのはどういう根拠でそういっているのですか? どっちかというと 現行中国漢字エンコード規格の上位規格でしょう 私の理解 ・7 ビット圏は 1 バイト ・拡張部分は可変長ではなく 4 バイト固定 ・現行の中国の漢字エンコード規格 GBK(シフトJIS と同じ仕組み)を包含するように第二・第四バイトの範囲を GBK と被らない範囲に制限している。
307 名前:デフォルトの名無しさん [2022/09/19(月) 23:48:55.05 ID:Z9ZARiSG0.net] >>302 ユニコード・コードポイント全てを内蔵したうえで、さらに少数民族の文字を追加してあるからでしょ。 そういう生い立ちなんだから。
308 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 23:52:42.86 ID:A/Pc+E3NH.net] >>301 How standards have been overproducted とか易しい英語にしてほしいなあ
309 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 23:55:05.42 ID:A/Pc+E3NH.net] >>303 コードポイントの数は十分確保している、って言う意味で「ユニコードの上位規格だ」と主張しているわけですか この理解で正しいですか?
310 名前:デフォルトの名無しさん mailto:sage [2022/09/19(月) 23:55:54.72 ID:zeLiCYh20.net] EBCDIC なんていうコード体系もあるんだよな これはASCIIよりも古い このコードで動いていたPCもあった(今もあるかは知らない)
311 名前:デフォルトの名無しさん mailto:sage [2022/09/20(火) 05:35:11.57 ID:JyAf+et+0.net] N5200か
312 名前:デフォルトの名無しさん mailto:sage [2022/09/20(火) 05:38:15.50 ID:AtHbCf2+0.net] >>290 2千字の常用漢字で済ませという時代だったから。 > だいたい2バイトで漢字がすべて収まると思ったアメリカ人に対して、早く日本人が漢字は何万字もあると教えなかったのが失敗だった。
313 名前:デフォルトの名無しさん (ワッチョイ ffb0-okD4) mailto:sage [[ここ壊れてます] .net] >>295 ここまでくると狂気しか感じないが。>>286 で自己中心的と書いた内容と全然関係ない内容を 延々と繰り返すのはなんでだろう。 ついでに>>295 の内容について言えば、規格で定めているもののどこがどう自己中心的なんだか。 この場合の「自己」って誰のこと?
314 名前:デフォルトの名無しさん [2022/09/20(火) 09:59:52.88 ID:2fXkGtCja.net] >>270 PHP+SJIS全盛の頃にBOMの代わりに「美乳」が使われてた時代があったな
315 名前:デフォルトの名無しさん [2022/09/20(火) 10:02:30.30 ID:2fXkGtCja.net] >>275 そうかな 全てのファイル名にBOM付いてたら嫌だな
316 名前:デフォルトの名無しさん mailto:sage [2022/09/20(火) 10:04:55.52 ID:Sk0Tcp2N0.net] MSならやりかねない
317 名前:デフォルトの名無しさん mailto:sage [2022/09/20(火) 10:08:20.39 ID:x6uHKNFtM.net] >>311 asciiなら不要だよ
318 名前:デフォルトの名無しさん [2022/09/20(火) 10:19:31.19 ID:2fXkGtCja.net] >>313 BOM付けろ派はASCIIかどうかもBOM付いてないと判らないみたいだし
319 名前:デフォルトの名無しさん mailto:sage [2022/09/20(火) 10:27:10.48 ID:Sk0Tcp2N0.net] MSの事だから、UTF-16使いそう
320 名前:デフォルトの名無しさん mailto:sage [2022/09/20(火) 22:46:15.84 ID:oGqR16NY0.net] >>309 >>>286 で自己中心的と書いた内容と全然関係ない内容 >>286 >「俺が扱うテキストは全部UTF-8に決まってるんだからBOMは要らない」という自己中心的な主張と混同してくれなければいい。 まあ、活動家のなりきりをしているので、そういうスタンスをとっているけれども、本質的には >>295 1. 過去、エンコードの違うテキストを各種取り扱っていたからといって、「テキストの内部に恣意的にエンコードを示すマークを入れる」などという自己中心的なことをした歴史はなかった 2. UTF-8 でエンコードされている限り、そのコンテンツがアスキーコードのみで構成されているのならば、特にバイトオーダーコードは不要で、as is で使えるように、欧米諸国に配慮した設計 が言いたいことですね UTF-8 ならば通常は as is で使えるんですよ、特に C/C++ のコード(コメントは英語・これって普通でしょ?)をそのまま使えるのに、どこぞのエディターが勝手につけるバイトオーダーマークまで正当化する風潮に苛立ちを感じているんですよ 長いものに巻かれよ、みたいなみっともない風潮を正当化するあさましさにあきれ果てているのです あなたがそうだ、とはいいませんけれどもね
321 名前:デフォルトの名無しさん mailto:sage [2022/09/20(火) 22:50:52.98 ID:an1sf52Dd.net] どこでも演説をおっぱじめるガキにいらだちを感じてる
322 名前:デフォルトの名無しさん mailto:sage [2022/09/20(火) 23:07:44.32 ID:Sk0Tcp2N0.net] 多国語が混在しても扱えるところが気に入ってる
323 名前:デフォルトの名無しさん mailto:sage [2022/09/21(水) 00:15:08.73 ID:z4iK/HUS0.net] gdbについて質問いいですか? ステップ
324 名前:実行でfopenを通過しようとすると "iofopen.c: そのようなファイルやディレクトリはありません" とメッセージがでて先に進めません。どうすれば回避できますか? OS:Linux [] [ここ壊れてます]
325 名前:デフォルトの名無しさん mailto:sage [2022/09/21(水) 00:17:32.94 ID:z4iK/HUS0.net] ちなみにソースは以下の感じです fopenで開くファイルは実行ファイル(a.out)と同じ場所に置いてあります。 #include <stdio.h> void main(void){ FILE *fp; fp =fopen("aa.txt", "r"); fclose(fp); }
326 名前:デフォルトの名無しさん mailto:sage [2022/09/21(水) 00:45:37.65 ID:itvuUNqP0.net] このあたり参考にしてください https://doss.eidos.ic.i.u-tokyo.ac.jp/html/advanced_gdb.html#libraries
327 名前:デフォルトの名無しさん mailto:sage [2022/09/21(水) 06:00:40.75 ID:z4iK/HUS0.net] >>321 サンクス
328 名前:デフォルトの名無しさん mailto:sage [2022/09/21(水) 06:25:52.07 ID:tW9j9RfF0.net] includeガードって割と使われてるように思いますが、エラい人の批評とかありません? 依存関係を把握しきれてないヤバい状態の発覚を先延ばしにするだけのハックだと個人的な経験から思うのですが…
329 名前:デフォルトの名無しさん mailto:sage [2022/09/21(水) 06:39:05.65 ID:6JiKBcvPd.net] とりあえず各ソースファイルの実行部、なければinit_xxxみたいなエントリーポイント作って #ifdef XXX perror("xxx loaded twice"); exit(XXX); みたいの置いたりしてます
330 名前:デフォルトの名無しさん mailto:sage [2022/09/21(水) 06:47:28.88 ID:6JiKBcvPd.net] init_xxxを呼び忘れると無意味なので、文法エラーで落とせたら良いと思うんですが、分かりやすいメッセージ吐いて落ちてくれる違法構文(あるいはそうするときの標準的なイディオム)あったら教えて欲しいです
331 名前:デフォルトの名無しさん mailto:sage [2022/09/21(水) 07:18:22.65 ID:sLC8V8J20.net] >>323 エロい人の批判ねえ。。。 #pragma onceなんか色んなコンパイラの中の人が真似してるけど? 依存関係を把握っていうけど、じゃあ #include <stddef.h> #include <stdio.h> なんて書かされたいわけ? ライブラリだって-lstdcじゃなく fputc.o iobuf.o fprintf.o printf.oなんて書くべきだと思う? 何かを使いたいときの窓口を1つにまとめておくのは 作る側として行儀のいいことだと思うぞ
332 名前:デフォルトの名無しさん (スフッ Sdbf-MXZj) mailto:sage [[ここ壊れてます] .net] >>326 むしろグッドプラクティスとされてる感じですか、確かにシステムヘッダにも見掛けますね 標準ライブラリは使うものを共通ヘッダにまとめてますね ライブラリとして公開する場合は当然慣習に従うべきだと思いますが、書いてる時には丁度必要十分でなく、余計なヘッダがあると何処に何があったか混乱したりしません? コードを弄らずスタティックアナライザとか道具に頼った方がいいのかな
333 名前:はちみつ餃子 mailto:sage [2022/09/21(水) 09:18:02.72 ID:tPUkcfIa0.net] >>323 ライブラリはそのライブラリの使用者に対して インターフェイス部分だけを公開したいのが普通で、 細かい依存関係が見えてしまうのは悪い設計だろ。 でも C のヘッダファイルの仕組みは隠蔽しきれない部分が出てしまうので そもそも C の言語としての仕組みが悪い。 C を使う以上は悪い部分ともつきあわないとしょうがないし、 インクルードガードは比較的マシな解決方法だと誰もが考えているからこそそうなってる。 C++ にはモジュールが導入されたけど今のところはヘッダファイルとも共存し続ける必要があるから 完全な移行にかかる時間は数十年単位かもしれんな……。
334 名前:デフォルトの名無しさん [2022/09/21(水) 09:58:34.67 ID:hjFc1SVt0.net] 新言語作った方が早いw
335 名前:デフォルトの名無しさん [2022/09/21(水) 18:18:19.49 ID:E8IgYMeHa.net] >>327 >余計なヘッダがあると何処に何があったか混乱したり へたくそなライブラリだとそういうの見掛けるが 上手なライブラリはすっきりしてるイメージ
336 名前:デフォルトの名無しさん [2022/09/21(水) 18:19:32.68 ID:E8IgYMeHa.net] >>328 FILE * とかって結局使う方からしたら void * でも動くしな
337 名前:デフォルトの名無しさん [2022/09/21(水) 18:21:06.66 ID:E8IgYMeHa.net] >>329 Nimがある
338 名前:デフォルトの名無しさん (ワッチョイ d7b3-rZTD) mailto:sage [[ここ壊れてます] .net] #include <stdio.h> #include <string.h> #include <stdlib.h> #include <memory.h> typedef struct { int year; int mon; int mday; int hour; int min; double high; double open; double close; double low; } CSV_T; void f(CSV_T *csv){ CSV_T *work; for(int i=1; i<1001; i++){ //★ work = realloc(csv, sizeof(CSV_T)*i); if(work == NULL){ puts("error"); exit(0); } if(work != csv) { puts("ココ通過でアウト"); //▲ csv = work; } }
339 名前:デフォルトの名無しさん (ワッチョイ d7b3-rZTD) mailto:sage [[ここ壊れてます] .net] csv[0].year = 1; csv[0].low = 1.1; csv[998].year = 9; csv[998].low = 9.9; printf("%d %f\n", csv[0].year, csv[0].low); printf("%d %f\n", csv[998].year, csv[998].low); } void main(void){ CSV_T *csv; csv = realloc(NULL, 1); f(csv); printf("%d %f\n", csv[0].year, csv[0].low); printf("%d %f\n", csv[998].year, csv[998].low); free(csv); }
340 名前:デフォルトの名無しさん (ワッチョイ d7b3-rZTD) mailto:sage [[ここ壊れてます] .net] ・やりたいこと CSVファイルを1行読み込むごとに構造体のエリアをreallocで拡張して格納 元のソースをそのままアップするには長いのでファイルの読み込み部分を削除したソースが上のやつです ・悩んでいるところ コメント★のとこのループが1000程度なら動きます。 しかし10000を超えるループにするとコメント▲部分を通過するようになり mainのprintfが正しい値を表示しなくなります。 なぜ?
341 名前:デフォルトの名無しさん mailto:sage [2022/09/22(木) 19:58:17.91 ID:z6cxsZX20.net] 領域拡張がそのままでは出来ずに新たな領域に指定サイズで取り直すからでは? どっちにしてもそんなに細かくrealloc()するものでは無いし ある程度の大きさで取っておいて足りなくなったらrealloc()するのが本来の使い方
342 名前:デフォルトの名無しさん mailto:sage [2022/09/22(木) 19:58:48.48 ID:p2gwdjIg0.net] reallocが別のメモリを確保して返す場合 ▲のほうを通ります このときfの内部でcsvを変更しても mainのcsvは変化しません。 返り値にするかfの引数をCSV_T**にするか 変更すればよいです。
343 名前:デフォルトの名無しさん [2022/09/22(木) 21:54:30.38 ID:x7eBA3430.net] >>293 昔はデータ容量を節約する必要があったから、データ容量が増えることは避けたかっただけ。
344 名前:デフォルトの名無しさん [2022/09/22(木) 21:56:10.71 ID:x7eBA3430.net] >>295 ①や②を使っている時点で日本人の都合を世界に押し付けていることがわからないのか?
345 名前:デフォルトの名無しさん mailto:sage [2022/09/22(木) 22:34:09.45 ID:4dXBB0gP0.net] 丸数字はUnicodeに登録されてるから心配ないよ ㋿ですら存在するし
346 名前:デフォルトの名無しさん mailto:sage [2022/09/22(木) 23:15:55.13 ID:9LVV18M9M.net] >>293 そんなこと言ってたらUnicodeには肌色を指定する文字があって、これは通常表示されない これらを組み合わせると家族絵文字はたった1文字を表示するのに最大で41byteになる もはや文字を正しく表示する事は簡単じゃない BOMの有無なんてかわいいもんだ
347 名前:はちみつ餃子 mailto:sage [2022/09/22(木) 23:47:09.65 ID:He0eupRY0.net] 私が Unicode のグダグダさについて言いたいことは >>301 が全てなので繰り返しになるんだが そもそも自然言語がグダグダなのが問題の根源。 文句があるなら自然言語を規格化して普及させてみせろや。
348 名前:デフォルトの名無しさん mailto:sage [2022/09/22(木) 23:50:49.90 ID:4dXBB0gP0.net] 人それぞれなんだが、 自分が一番困るのは ~ これの扱いでいつもトラブル
349 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 00:53:58.54 ID:oded7icuM.net] 「が」と「か゛」が混ざってる事もある(見た目じゃ判別付かない)から、先ずはUnicode正規化しないと、なぜか文字列が一致しないとかもある
350 名前:デフォルトの名無しさん [2022/09/23(金) 01:35:24.44 ID:gD4It3Aba.net] >>335 >>333-334 で work を書き換えて csv に上書きしてるつもりで main の csv は上書きされていない f 側では CSV_T **csv で受けて *csv = work; と描いて上書きする main から &csv を渡す
351 名前:デフォルトの名無しさん [2022/09/23(金) 01:37:21.11 ID:gD4It3Aba.net] ここと work = realloc(*csv, sizeof(CSV_T)*i); ここも if(work != *csv) { 変更汁
352 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 06:31:49.61 ID:exFn1ITS0.net] >>346 ここも直さんとエラーになるぞ void f(CSV_T **csv){
353 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 08:25:09.61 ID:wfJAcbE20.net] >339 日本の都合に合わせたOSを作ったらアメリカから(ry
354 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 08:38:34.03 ID:JWInDr1o0.net] BOMはいるとかいらないとか 自分を中心に語っている間は自己中心的、なんじゃないですか? BOMあったほうが良い環境と無いほうが良い環境があるなら、それに合わせて利用するでは?
355 名前:デフォルトの名無しさん [2022/09/23(金) 08:55:36.44 ID:7gKq4Utr0.net] >>349 いまはネットでつながってる時代なので、BOMを付けるべきでしょう。 自分だけで使う資料なら、何も言いません、自由にしてください。
356 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 09:05:36.75 ID:CJ5Vu8e/0.net] >>336-347 動きました。 指摘頂いた箇所を直してコンパイルすると、コンパイラが error: ‘*csv’ is a pointer; did you mean to use ‘->’? っと吐くので、コンパイルメッセージ通り csv[0]->year = 1; csv[0]->low = 1.1; csv[998]->year = 9; csv[998]->low = 9.9; と修正したら Segmentation fault (コアダンプ) となるので随分悩みましたが 以下のようにすることで望む動作となりました。サンクスです。おわり。 csv[0][0].year = 1; csv[0][0].low = 1.1; csv[0][998].year = 9; csv[0][998].low = 9.9; printf("%d %f\n", csv[0][0].year, csv[0][0].low); printf("%d %f\n", csv[0][998].year, csv[0][998].low);
357 名前:デフォルトの名無しさん (スッププ Sdbf-UZdd) mailto:sage [[ここ壊れてます] .net] >>348 そんな幻覚を信じてる奴がC言語使うなw
358 名前:デフォルトの名無しさん [2022/09/23(金) 10:17:08.51 ID:7gKq4Utr0.net] 中国がやられていることを、以前は日本がやられていた。
359 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 10:36:16.17 ID:N+YYHg9hd.net] 中国のはただのLINUXもどきだろw
360 名前:デフォルトの名無しさん (ワッチョイ 9701-W3aP) [[ここ壊れてます] .net] アメリカは許さん。 いつかアメリカが弱くなった時、必ず仕返しをする。
361 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 10:46:24.11 ID:mieuEbaK0.net] アメリカはほんとジャイアンだよな 色々な国から恨み買ってると思うわ
362 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 11:04:10.31 ID:N+YYHg9hd.net] そういう下らない話はどっかの陰謀論スレでやれ CもUNIXもパソコンもどこの国が作ったんだよw
363 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 11:14:08.38 ID:mieuEbaK0.net] だから国産のCやUNIXが必要なんだよ アメリカにずっと依存してたらいつか痛い目を見ると思うわ
364 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 11:24:24.02 ID:Ztvb6Y4W0.net] Cのどこに陰謀なんかあるんだよ ちゃんと理解して使ってる人なら絶対にありえない妄想だな いつまで経ってもHello worldの域を出られないウルトラ低脳だけだろそんなこと言ってるのは
365 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 12
] [ここ壊れてます]
366 名前::04:08.03 ID:d/Vr8qA70.net mailto: ビジコンの小島社長が技術だけでなく、世界を目指していたら 今頃は世界を制覇して太ろうに [] [ここ壊れてます]
367 名前:デフォルトの名無しさん [2022/09/23(金) 13:05:01.09 ID:hRyY5Ouqd.net] >>351 そこまで csv[0] 多用するなら 引数を void f(CSV_T **pcsv) にして 関数内で CSV_T *csv = *pcsv; すると良い 最後に *pcsv = work; だけ気を付ける
368 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 13:28:27.27 ID:UtiZ09eAd.net] >>358 じゃあLINUXはどこの国の人が作った? 一行でもプログラム書いたことないのがバレバレだぞw くだらねえ陰謀論書くヒマあったら
369 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 14:25:39.25 ID:wfJAcbE20.net] 世界初のCPUは(ry
370 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 14:59:32.72 ID:4W75W0wl0.net] イギリス人のノイマンが考えてアメリカのEDVACに搭載されたのが最初だっけ
371 名前:デフォルトの名無しさん (ワッチョイ 9fad-okD4) [[ここ壊れてます] .net] ジョン・フォン・ノイマンはハンガリー出身のアメリカの数学者。 両親はハンガリーに移住したユダヤ系ドイツ人。
372 名前:デフォルトの名無しさん [2022/09/23(金) 16:25:05.41 ID:7gKq4Utr0.net] >>362 五橋研究所の一件は絶対に忘れない。 アメリカを許さない。
373 名前:デフォルトの名無しさん [2022/09/23(金) 17:04:19.95 ID:U+A60u3d0.net] >>363 何を以てCPUと呼ぶかという定義の違いによってどれが世界初のCPUかが変わる。
374 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 17:15:38.41 ID:JPfPvbHpM.net] ノイマンは原爆は地上100mで爆発させるのが最もダメージを与えられるという計算を一生懸命してた人
375 名前:デフォルトの名無しさん (ワッチョイ 9701-W3aP) [[ここ壊れてます] .net] 技術が政府を必要なくするという妄想を主軸に据えた改定アナーキズムを提唱します。 国を細分化し、一つの国の力を十分に小さくすれば、戦争は消え去ります。 それも改定アナーキズムの効果のひとつです。
376 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 18:46:47.28 ID:mieuEbaK0.net] >>362 Linuxの開発はC言語依存だろ そしてC言語はアメリカ産の言語 国産のC言語で国産のLinuxを作る これが真の国力だよ
377 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 18:46:48.98 ID:iDGv9NFq0.net] どの国で作られたとかアフォかと。その国だけで使ってくれって思ってるとでも?他国でDLさせたり、販売しといて?
378 名前:デフォルトの名無しさん [2022/09/23(金) 19:00:25.69 ID:7gKq4Utr0.net] 技術者らしく、アメリカをぶっ倒す方法論を考えよう。 アメリカの良し悪しなんて、倒した後で誰かが考えてくれる。
379 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 19:01:30.63 ID:mieuEbaK0.net] この認識って一般的じゃないのか? えーまじかよ 将来アメリカと戦争になったらどうすんの gccとかダウンロードできなくなるんじゃないの?
380 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 19:02:00.96 ID:IIvpOqM90.net] >>338 だからといって三カ国の漢字コードを無理遣りに統一する!とか言い出す必要があったのか? 各国とも各国なりのちゃんとした漢字コード体系が成立していたというのに
381 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 19:02:59.42 ID:H9J4nWLH0.net] >>339 ①②はアメリカ人の都合でしょ? どうして①②が日本人の都合か説明いただけませんか?
382 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 19:04:14.91 ID:H9J4nWLH0.net] >>341 絵文字はねえ‥‥、絵文字をねじ込んだのは日本人ですし、確かに酷いことになっていますよね、ご意見に同意します
383 名前:デフォルトの名無しさん [2022/09/23(金) 19:04:28.38 ID:7gKq4Utr0.net] >>374 そうだな。 文字コードは一番詳しい日本が主軸となって作り直す必要があるな。 まず、新しい文字コードの名前から考えよう。 ところで、JISが日本工業規格ではなくなったって知ってるか? まずそこからだぞ。
384 名前:デフォルトの名無しさん [2022/09/23(金) 19:05:35.56 ID:7gKq4Utr0.net] >>370 日本にはLSI-C86試食版があるじゃあないか!
385 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 19:08:24.89 ID:YNz/Bu6p0.net] >>342 >文句があるなら自然言語を規格化して普及させてみせろや。 人工言語エスペラント(人工言語といったら発案者は怒りますね、彼は謙虚に「国際補助語」といっていますね)に始まる「ふつくしい世界」の探求ですね ロジバンがいい感じに見えるのですが私の年齢では、もうとりかかるのにためらわれますね、若い方でやっている方はおられますか?
386 名前:デフォルトの名無しさん [2022/09/23(金) 19:13:00.21 ID:7gKq4Utr0.net] 俺たちサタンは絶対アメリカを許さへんでえ!
387 名前:デフォルトの名無しさん [2022/09/23(金) 19:25:58.67 ID:7gKq4Utr0.net] >>373 いまあるパソコンで最大に困ってることは何かと考えるとセキュリティじゃないかな? 乗っ取られないOSを考え付いたら、世界をとれるんじゃないか?
388 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 19:27:57.78 ID:+9iUtJm1M.net] いつまで妄想続けるの?
389 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 19:29:30.75 ID:iDGv9NFq0.net] 「私ハッカー。今あなたの後ろに居るの。」
390 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 19:29:35.80 ID:d/Vr8qA70.net] 森公一郎さん、亡くなってしまった
391 名前:デフォルトの名無しさん [2022/09/23(金) 19:29:54.80 ID:7gKq4Utr0.net] >>382 真面目なC言語の話題が投稿されるまで。
392 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 19:30:27.24 ID:TJPY0mvX0.net] >>370 Linux はスウェーデン系フィンランド人(ムーミンの作者トーベ・ヤンソン(女性)もそうですね)で、アメリカ人とはいいがたいですねえ
393 名前:デフォルトの名無しさん [2022/09/23(金) 19:34:43.74 ID:7gKq4Utr0.net] >>386 リナスが作ってるわけじゃないから。
394 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 19:36:04.99 ID:muvuGuRN0.net] >>387 今はね、最初は?
395 名前:デフォルトの名無しさん [2022/09/23(金) 19:40:07.19 ID:7gKq4Utr0.net] >>388 理屈じゃねえんだよ。 統一教会は最高なんだ!
396 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 19:59:37.68 ID:Ztvb6Y4W0.net] >>370 マジで言うぞ、アホかお前は 科学技術の功績がどこ人とか地の果てまで関係ねえんだよ 0をインド人が発見したからってブール代数はインドの国力か? 理系と文系の区別がガチでわからんやつめ
397 名前:デフォルトの名無しさん [2022/09/23(金) 20:09:09.70 ID:7gKq4Utr0.net] そうだ、これからインドは伸びる。
398 名前:デフォルトの名無しさん (ワッチョイ 97e6-G1yF) mailto:sage [[ここ壊れてます] .net] >>391 とても興味があります インドの強みはなんでしょうか?インドの言語・サンスクリットが強みなんでしょうか?
399 名前:デフォルトの名無しさん (ワントンキン MM7f-bNpc) mailto:sage [[ここ壊れてます] .net] ラマヌジャンが見つけたπの計算式は他の人では不可能じゃないかな
400 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 20:53:50.26 ID:nZMEnIrnM.net] 世界のIT系企業中心の三大都市として 米国のシリコンバレー 中国の深セン 印度のバンガロール は有名な話ではある
401 名前:はちみつ餃子 mailto:sage [2022/09/23(金) 21:00:05.13 ID:+J9Wni8j0.net] >>392 人数。
402 名前:392 mailto:sage [2022/09/23(金) 21:36:47.77 ID:UhaHLJ5a0.net] >>395 !!!
403 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 21:44:22.73 ID:mieuEbaK0.net] >>390 科学技術はまーそうだけど 依存してる状態はよくないでしょ? まぁC言語については国産のコンパイラ作ればそれでいいけど たとえばトップが中国人になって日本にだけ冷遇してくるとかさ そういのってあるでしょ?
404 名前:デフォルトの名無しさん [2022/09/23(金) 21:52:19.66 ID:7gKq4Utr0.net] アメリカに冷遇され続けてるのに。 なぜか「日本はアメリカに愛されているんだ!」とか。 愛されない子供ようなこと言ってる。
405 名前:デフォルトの名無しさん [2022/09/23(金) 21:54:05.85 ID:7gKq4Utr0.net] そもそも、現代のアメリカと真っ向から戦った国なんて一つしかないのに。 警戒されてるに決まってるじゃん。 こっちだっていつか復讐しようと爪を研いでるのに。
406 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 21:55:43.97 ID:Ztvb6Y4W0.net] >>397 やっぱりな ム板に来るやつだからと万が一の奇蹟に期待してたが 予想どおりガッカリなやつだな 出てけよ、技術板にそぐわないやつめ
407 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 22:01:55.13 ID:mieuEbaK0.net] >>400 なんでそんなに怒ってるのか謎だわ 俺は間違ったことは言ってないと思うが
408 名前:デフォルトの名無しさん [2022/09/23(金) 22:04:33.75 ID:7gKq4Utr0.net] 全く間違っていない。 自給率確保は日本の安全保障の大原則だし。 「日本をぶっ壊す」とか言い始めた、ここ30年の日本政府は別として。
409 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 22:33:25.75 ID:d/Vr8qA70.net] ニュース系板が規制きびしくて 耐えられなくなった難民どもが 無関係なスレを徘徊して荒らしている 今日この頃
410 名前:デフォルトの名無しさん [2022/09/23(金) 22:49:16.67 ID:7gKq4Utr0.net] 今まで政治に関心が無かった人が、関心を持ち始めて、良いことでは? 民主主義的に言って。
411 名前:デフォルトの名無しさん [2022/09/23(金) 22:51:28.64 ID:7gKq4Utr0.net] 自給率は安全保障の指標の一つですから、国産OSが必要だと思います。 全てを過去に変える偉大なOS!!! ではなく、誰もが普遍的に使える小さなOSが良いと思います。
412 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 22:52:11.60 ID:bBi47OZ40.net] TRONのソースかき集めてPC/スマホで動くように改修すればええねん
413 名前:デフォルトの名無しさん [2022/09/23(金) 22:57:55.86 ID:7gKq4Utr0.net] アイドル板とかゲーム板で政治の話が出るのが、健全な民主主義じゃないっすか?
414 名前:デフォルトの名無しさん [2022/09/23(金) 23:05:29.93 ID:7gKq4Utr0.net] >>400 あんた、サタンが憑りついてるんじゃないか? 言動がめちゃくちゃだぞ。
415 名前:デフォルトの名無しさん mailto:sage [2022/09/23(金) 23:45:27.33 ID:CJ5Vu8e/0.net] >>405 LinuxでOK どこの国にも属してないぞ
416 名前:デフォルトの名無しさん [2022/09/23(金) 23:58:56.17 ID:7gKq4Utr0.net] >>409 Laser5の一件を忘れたのか!
417 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 00:05:10.37 ID:GpR8CZ+m0.net] >>410 忘れる以前に知らない 検索するのでキーワード教えて
418 名前:デフォルトの名無しさん [2022/09/24(土) 00:09:08.45 ID:75jIGLYK0.net] >>411 バトルプログラマーシラセ「五橋研究所 Redhat」
419 名前:デフォルトの名無しさん [2022/09/24(土) 00:10:44.12 ID:75jIGLYK0.net] 俺たちサタンは、アメリカを許さへんからな、絶対!!!
420 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 00:13:49.44 ID:f4deLGav0.net] スレチなごっこ遊び楽しい?
421 名前:デフォルトの名無しさん [2022/09/24(土) 00:22:34.27 ID:75jIGLYK0.net] メシアが試練をお与えになっているのです。
422 名前:デフォルトの名無しさん [2022/09/24(土) 00:23:01.75 ID:6vPOYH6k0.net] >>391 そしてやがてインドでOSが作られる。名前は インドーズ
423 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 00:24:40.95 ID:5OzUjEi80.net] インドーズわろた
424 名前:デフォルトの名無しさん [2022/09/24(土) 00:25:05.38 ID:6vPOYH6k0.net] 国産OSガーと言ってる人は超漢字を使ってここに書き込むこと。
425 名前:デフォルトの名無しさん [2022/09/24(土) 00:25:20.44 ID:75jIGLYK0.net] >>416 使いやすそうだけど、文字一個分なにかが足りないんでしょうね!
426 名前:デフォルトの名無しさん [2022/09/24(土) 00:29:42.52 ID:75jIGLYK0.net] 五橋研究所はRedhatとパートナー契約を結び、RedhatLinuxの日本語化を行った。 充分な日本語化を達成して時点で、Redhat社はパートナー契約を打ち切り、Redhat自身で日本語版Linuxを自社販売した。
427 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 00:31:40.20 ID:Ohf7lvDf0.net] 単独で動く超漢字なら、使ってみたい
428 名前:デフォルトの名無しさん [2022/09/24(土) 00:45:35.80 ID:75jIGLYK0.net] ・明日からWindowsは使えません。 ・明日からmacOSは使えません。 ・明日からiOSは使えません。 ・明日からAndroidは使えません。 > Imagine all the people > Living for today
429 名前:デフォルトの名無しさん [2022/09/24(土) 00:49:50.96 ID:75jIGLYK0.net] いま中国のSNSで写真の加工が流行ってるんだよね。 ブドウの粒粒を星形にする加工。 みんなが加工してウプしてる。 なんでだろね?
430 名前:デフォルトの名無しさん [2022/09/24(土) 00:51:01.98 ID:75jIGLYK0.net] ファーウェイはAndroid搭載
431 名前:機器を販売できなくなって、スマホから撤退したからね。 アメリカン・リスクだわ。 [] [ここ壊れてます]
432 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 01:02:13.43 ID:uYCDlyGwM.net] >>376 絵文字の表示と編集まで出来るように対応するのは大変な労力だけど、お陰で日本語を知らない外国人のソフトウェアでも、自然と日本語に対応されるという利点がある もっと細かいところまで対応するのはネイティブじゃないと無理だけど、かなりの進歩だ
433 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 01:21:31.21 ID:GpR8CZ+m0.net] もう日本はアメリカなしでは生きていけない 中国やロシアみたいにアメリカ発のサービスが止められるような状況になったらバンザイするしかない なので考えるのはやめよう(スレちだし)
434 名前:デフォルトの名無しさん [2022/09/24(土) 02:06:42.56 ID:75jIGLYK0.net] 自民党みたいなこと言っちゃって。
435 名前:デフォルトの名無しさん [2022/09/24(土) 02:14:26.65 ID:6vPOYH6k0.net] >>424 米国が制裁の中国ファーウェイ 日本のスマホ事業撤退せず https://news.tv-asahi.co.jp/news_economy/articles/000256013.html ファーウェイのスマホは売り上げ4倍に、「ロシア特需」に沸く中国経済 https://jbpress.ismedia.jp/articles/-/69446
436 名前:デフォルトの名無しさん [2022/09/24(土) 02:25:35.17 ID:75jIGLYK0.net] >>428 ファーウェイはAndroid搭載機器を販売できなくなっていないと言いたいのか?
437 名前:デフォルトの名無しさん [2022/09/24(土) 02:26:06.48 ID:6vPOYH6k0.net] >>426 そもそも日本は敗戦国だから少なくともアメリカに対しては自由はない。 お爺ちゃんの代からCIAと繋がっていようがいまいが日本はアメリカンの属国だ。 この事は逆の立場になって考えてみれば分かると思う。戦争してやっと勝った相手に対して戦後に自由を認めるか?そんなことは普通に考えてあり得ないだろう。
438 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 02:37:00.43 ID:6vPOYH6k0.net] >>429 Android そのものはフリーだから Android のスマホが作れないことはない。 ただ Google のサービスは全滅なのでその辺を独自に作る必要がある。 中国国内からは検閲の都合で Google へは繋がらないだろうから最初からそういう独自のサービスは用意しているのではないかと思う。 ロシアで売れる理由はそれのロシア語版があるからではないか。 日本ではまだ売ってるだろうが普通に Google のサービスが使えないのでは商品価値がないのでほとんど売れず、また日本で新機種投入はしないということだろう。
439 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 02:41:06.82 ID:6vPOYH6k0.net] Amazon の Fire タブレットも似たような状態だな。Android ベースのOSだけれど GooglePlay からのアプリ取得はできない。 で、Amazon が独自にアプリダウンロード出来るようにしている。
440 名前:デフォルトの名無しさん [2022/09/24(土) 02:41:09.39 ID:75jIGLYK0.net] 結局、アメリカン・リスクがあるから、独自OSが必要ってことじゃないか。
441 名前:デフォルトの名無しさん [2022/09/24(土) 02:43:02.20 ID:75jIGLYK0.net] >>432 あと数週間で日本でもWindows11でAmazonのアプリが使えるようになるらしいぞ。
442 名前:デフォルトの名無しさん [2022/09/24(土) 02:44:39.66 ID:75jIGLYK0.net] ちなみに私はファーウェイのタブレット使ってたけどね。 ペンが使えるちょっといいやつ。 アメリカの規制以降、Androidは8から更新できないままになってた。
443 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 02:48:12.34 ID:l1NUECho0.net] >>434 もう利用できるよ ただAmazon App StoreではGoogle Playには到底及ばないので殆ど使われていない
444 名前:デフォルトの名無しさん [2022/09/24(土) 02:48:52.85 ID:75jIGLYK0.net] アメリカからの独立を目指す政党が立ち上がればよいのだが。
445 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 02:49:48.78 ID:Ohf7lvDf0.net] 政治と宗教の話は食卓でするなってばっちゃが言ってた
446 名前:デフォルトの名無しさん [2022/09/24(土) 02:50:30.47 ID:75jIGLYK0.net] >>436 うちにはまだ来てないぞ。 きさま、マイクロソフトの回し者だな?
447 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 02:51:18.33 ID:GpR8CZ+m0.net] なんだ最後は他人任せか 「俺が独自OS作ってやるぜ!」とか「俺が政党を立ち上げるから支援してくれ!」とはならないのか? でなきゃ「口だけなやつだな」で終わるぞ
448 名前:デフォルトの名無しさん [2022/09/24(土) 02:51:33.02 ID:75jIGLYK0.net] 朝鮮からの卒業、アメリカからの独立。 必要。 絶対。
449 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 02:52:51.75 ID:6vPOYH6k0.net] >>437 君が作れば良い。ていうかそういう政治団体なら既に沢山あるのでは?
450 名前:デフォルトの名無しさん [2022/09/24(土) 02:54:09.09 ID:75jIGLYK0.net] >>440 私には私の持ち場があるので。 自分の持ち場を守る。 自分の立場では、中韓が主敵となる。 アメリカとは力の差がありすぎて同じ戦場に立つことすらできない。
451 名前:デフォルトの名無しさん [2022/09/24(土) 02:55:09.21 ID:75jIGLYK0.net] >>442 他国の支援を受けていない政党は共産党しかないが、共産党はダメだ。
452 名前:デフォルトの名無しさん [2022/09/24(土) 02:57:45.28 ID:75jIGLYK0.net] >>438 虫ケラとして生き抜く知恵だけど、もう無理じゃないの。 日本自体が無くなろうとしてるのに。 GDPがドイツに抜かれた。 8000万人しか人口ないのに。
453 名前:デフォルトの名無しさん [2022/09/24(土) 02:59:57.20 ID:75jIGLYK0.net] 自民党は統一教会の支援受けてるし、日本のために働くことが出来ない。
454 名前:デフォルトの名無しさん [2022/09/24(土) 03:04:02.31 ID:6vPOYH6k0.net] >>444 じゃあ自分で作れ。 大丈夫。現実に1人で国政政党作っちゃった人も居るから。やってやれないことはなかろう。頑張れ。
455 名前:デフォルトの名無しさん [2022/09/24(土) 03:04:58.63 ID:75jIGLYK0.net] >>447 蓮舫を育てようと思います。
456 名前:デフォルトの名無しさん [2022/09/24(土) 03:08:40.20 ID:75jIGLYK0.net] 国民ファーストの政治を必要とするなら、自分で政党を立ち上げなければならない。 これ、もはや国家崩壊してるでしょ。 主権が国民に無い。 主権者が統一教会になっちまってる。
457 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 06:11:34.12 ID:+qZ8jiZga.net] で、C言語話は…?
458 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 06:40:53.02 ID:52DloiQc0.net] >>420 詳細知らんけどそれって単に契約のやり方がまずかったって話じゃねーの? 契約書に書いてないのに未来永劫パートナー契約し続けてもらえると思ってたなら頭おかしい
459 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 07:25:32.65 ID:wr9kx4s90.net] 書き込み順位&時間帯一覧 1 位/32 ID中 時間 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Total 書き込み数 9 0 12 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 使用した名前一覧 書き込んだスレッド一覧 デフォルトの名無しさん (ワッチョイ 5f01-JEMU) デフォルトの名無しさん (ワッチョイ b701-JEMU [60.87.151.68]) C言語なら俺に聞け 159 【統計分析】機械学習・データマイニング32
460 名前:デフォルトの名無しさん (ワッチョイ 7f2c-i8Eu) mailto:sage [[ここ壊れてます] .net] 東大・財務省が中華。 御用学者の浜田・伊藤などが、日本の借金が千兆円あると嘘を流して、 30年間緊縮財政を続けて、軍事費を減らした だから、高橋洋一・三橋・中田敦彦・山本太郎などが、 借金は本当に千兆円あるのかとか、YouTube で言い出した 30年間で金融緩和をしたのは、安倍・黒田だけ。 だから円安になって、労働人口が増えた。 それが民主党・中華に都合が悪かった。それで暗殺された NHK 党の黒川がNHKの討論番組で歌った歌がある 「安倍は、おじいちゃんの代からCIA」 安倍の祖父・岸信介はCIAだから、戦犯を許されて総理になった。 CIAが共産党と戦うために、文鮮明・統一教会と
461 名前:組んだ。 これが反共産主義の国際勝共連合 でも、また財務省が円安を嫌って、為替介入した。 これには米国・欧州もあきれた。 金融緩和して、0金利を続けているのに、それとは逆の円高にするの?w 岸田ロボットを操作している木原官房副長官も、東大・財務省だから中華。 楽天も中華資本が入ってる。 だから、ガーシーに叩かれている [] [ここ壊れてます]
462 名前:453 mailto:sage [2022/09/24(土) 08:46:42.89 ID:L5pk3riv0.net] RAPT理論プラスアルファ ガーシーは中共のハニトラ工作員!! NHK党は中国共産党の工作機関 YouTube に動画あるけど、 このデマには、さすがにNHK 党も怒って、この動画の謎の美人2人を訴えると言ってるw これはラプト様を使っての、ロリ谷・木原の逆襲かも むしろ、中華のハニートラップは林。 大王製紙の井川が、安倍から聞いたと言ってた。 たぶん、林はハニトラに掛かっていると
463 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 10:52:53.07 ID:9ODShywE0.net] 構造体のメンバー変数にstaticが書けなくてつらい悲しい struct Hoge { static int x; static int y; };
464 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 11:31:35.42 ID:Ohf7lvDf0.net] >>455 それで何がしたいの?
465 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 11:39:11.29 ID:uYCDlyGwM.net] C言語的には int Hoge_x; だな C++的には::で繋ぐところを、Cでは_で繋ぐ それでええやん
466 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 12:15:29.27 ID:52DloiQc0.net] >>455 static struct Hoge hoge; じゃダメなの?
467 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 12:49:54.31 ID:OHRjm0Oh0.net] Java脳に3000ペリカ
468 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 13:02:23.00 ID:9ODShywE0.net] もう覚えてないんだけど、countだけシングルトン風に管理したかったんだと思う。 struct Hoge{ static int count; int data; }; Hoge *hoge; hoge=malloc(sizeof(Hoge)*n); // dataは配列 Hoge.count // countはシングルトンっぽく
469 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 13:27:17.87 ID:52DloiQc0.net] >>460 ああなるほど、やりたくなる気持ちはわかるし実装もそんなに難しくはないように思う ただそんな要望がどれだけあるかと言うと...
470 名前:デフォルトの名無しさん [2022/09/24(土) 13:35:25.97 ID:PoJJisuz0.net] >>453 10年以上かけて、ドイツにGDPを追い抜かれるんだから、アベノミクスは大失敗だよ。 専業主婦だった人はもとより、70歳以上の人まで働いてるんだよ。 そこまでして、国際的地位が落ちて行ってる。 これはもう、力の差を認めて、地道に教育に力を入れるしかない。 30年後の復活を目指して。
471 名前:デフォルトの名無しさん [2022/09/24(土) 13:38:33.45 ID:PoJJisuz0.net] 女性や老人を働かせたことで、子供を見る人が居なくなり、出生率がさらに低下してる。 20年後の見通しもさらに悪化した。
472 名前:デフォルトの名無しさん (テテンテンテン MMde-0S4t) mailto:sage [[ここ壊れてます] .net] >>461 いや実装は無理だろw mallocしてんのに、一部分だけ共有するんだぞ もっとデカイ単位なら仮想記憶のトリックで可能だろうけど
473 名前:デフォルトの名無しさん (テテンテンテン MMde-0S4t) mailto:sage [[ここ壊れてます] .net] Cにnew演算子を導入するところから始めないといけないから、変更点がデカすぎる
474 名前:デフォルトの名無しさん (ワッチョイ 12ad-r4yT) mailto:sage [[ここ壊れてます] .net] count だけポインタにして初期化の時に static の変数へのポインタ入れておけば良いんじゃね?
475 名前:デフォルトの名無しさん (ワッチョイ 1201-ut7I) mailto:sage [[ここ壊れてます] .net] >>464 static の変数は静的領域に割り付けてそれ以外の変数だけをヒープやスタックに確保するだけでいいだろ >>460 の例なら static int _Hoge_count; struct Hoge{ int data; }; みたいな感じ まあインスタンスを生成してないのにcount が割り付けられるのは気持ち悪いとかあるけど
476 名前:はちみつ餃子 mailto:sage [2022/09/24(土) 18:16:51.56 ID:2HWwrIyG0.net] 要するに C++ でやってるみたいに出来ればいいねという話だろう。 構造体を名前空間の一種としても使うとなるとマングルが必要になるから割と面倒な話だと思うよ。
477 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 18:20:14.80 ID:5HKoejah0.net] >>460 C言語のstaticの意味を他の言語と勘違いしてるっぽい
478 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 18:22:42.35 ID:Ohf7lvDf0.net] そこはC言語固有のキーワードではなく 言わんとするところをくみ取って許してやろう
479 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 18:38:39.89 ID:5HKoejah0.net] そっか
480 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 19:23:44.32 ID:52DloiQc0.net] >>469 関数内のstatic変数みたいな奴ってことだろ
481 名前:デフォルトの名無しさん mailto:sage [2022/09/24(土) 19:29:04.02 ID:Ohf7lvDf0.net] 配列メンバーなのに実体は一つしかないという
482 名前:デフォルトの名無しさん (ワッチョイ 9fe6-+bWc) mailto:sage [[ここ壊れてます] .net] >>425 ふむふむ、なるほど、複雑怪奇な仕様をねじ込むことで、より簡単な処理まで改善される、という理解でいいですか?
483 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-tX/F) mailto:sage [[ここ壊れてます] .net] >>474 複雑かどうかは重要じゃない。 対応せざるを得ない状況を押し付けるってことだよ。
484 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 01:07:06.13 ID:97XvxZke0.net] >>431 Huawei App GalleryはAppleストアやGoogle Playを凌ぐ世界最大市場らしいが、少し考えれば当たり前の事だけど かくいう俺のHuawei製スマホにはHuaweiとPlay両方入ってた、まあ日本向けアプリはPlayの方が充実してるのであまり使ってない
485 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 10:40:52.48 ID:fwqkSCspH.net] >>475 うふふ、絵文字は各国ともやりたがっているので絵文字には対応せざるを得ない、すると漢字にも完璧な対応を強いられる、ってことですか、策士ですねえ‥‥
486 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 11:23:47.11 ID:LohnzUwr0.net] unicodeのハングル文字登録で揉めたって聞いたけどどう決着ついたのかな。
487 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 13:10:20.12 ID:5FaXssIeM.net] >>477 それが完璧にはならんのよ 東アジアの文字幅(East Asian Width)問題がある ただ色々ワークアラウンドが有るからなんとかなる事が大半
488 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 13:14:31.77 ID:weLer2R50.net] 生後6ヶ月以上4歳以下もワクチン打たないと駄目だぞ https://www.mhlw.go.jp/content/000985239.pdf
489 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 13:15:17.92 ID:weLer2R50.net] すまん誤爆した
490 名前:デフォルトの名無しさん [2022/09/25(日) 20:31:15.08 ID:g7GNUN1K0.net] >>340 そういう話ではない。外国人に対して見慣れない表現を使うのは古臭い。
491 名前:デフォルトの名無しさん [2022/09/25(日) 20:35:04.13 ID:g7GNUN1K0.net] >>344 それは単に日本語みたいな言語が世界の主流ではないから起こる現象。 半角のカナ文字だと濁点、半濁点はそれだけで1文字になる。 英語で日本語を打つときは濁音、半濁音記号を文字として打つ方が楽なのでそうしていることがある。
492 名前:デフォルトの名無しさん [2022/09/25(日) 20:38:08.74 ID:g7GNUN1K0.net] >>375 その数字と記号の融合表現は日本語独特のものだから。 英語圏はタイプライターの流れを受け継いでいる。 タイプライターだとたくさんの文字には対応できなかった。
493 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 20:40:05.44 ID:ffdbvYikM.net] ウムラウト
494 名前:みたいな扱いでよかったな [] [ここ壊れてます]
495 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 21:43:25.78 ID:N2ZwTqP1M.net] >>483 役所とかでフリガナ振る時、升目が有ると濁点を1文字として書いちゃうからな そういう時に「か゛」みたいのに対応してるのは助かるのだろう Unicodeはちゃんと1文字として表示してくれる ま、しょうもない文化だよw
496 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 22:22:02.29 ID:sgDwh9fo0.net] ○の中にアラビア数字 別に違和感感じないと思うけどな
497 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 22:23:46.38 ID:DPfmU3jJ0.net] ①②・・・ああ、機種依存文字だから使うな!と言ってた時代があったなぁ。
498 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 22:25:44.57 ID:eY/sWScXH.net] 黒丸に白抜きで1~199 白丸に黒字で1~199 も準備してほしいなあ
499 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 22:27:37.06 ID:sgDwh9fo0.net] アルファベットにアンダーライン入れるなんて普通にやってたけどな
500 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 22:38:12.24 ID:sgDwh9fo0.net] LaTeXだと、これで○内に文字入れられる \ajMaru{1}、\ajMaru{100}、\ajMaru{101}
501 名前:デフォルトの名無しさん [2022/09/25(日) 23:05:05.48 ID:g7GNUN1K0.net] >>487 それは日本で生まれ育って、ずっと日本にいるから。
502 名前:デフォルトの名無しさん [2022/09/25(日) 23:06:50.59 ID:g7GNUN1K0.net] >>488 それむしろ逆で、外国とのやり取りの際は、避けるのがいまの主流。 日本語事情に詳しくない外国人にとっては、丸囲みのニュアンスがわからない。
503 名前:デフォルトの名無しさん [2022/09/25(日) 23:07:39.55 ID:g7GNUN1K0.net] >>490 それ文字として分ける必要がないだろうに
504 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 23:10:54.01 ID:sgDwh9fo0.net] 丸数字も同じでしょう アラビア数字の修飾なんだから
505 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 23:12:36.12 ID:sgDwh9fo0.net] 漢数字を丸囲みしたら、それは読めないかもしれないが 中味は万国共通のアラビア数字なんですよね ローマ数字なんかよりは遙かに分かりやすいでしょう
506 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 23:13:51.02 ID:sgDwh9fo0.net] 避けるのが今の主流って言う根拠示せますか?
507 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 23:14:39.94 ID:sgDwh9fo0.net] 独自主張としか見えないんですよね
508 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 23:38:41.08 ID:PDKGWlWe0.net] >>497 今と言うか昔から海外の資料で丸付数字なんて見たことない って言うのは理由にならんか?
509 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 23:48:49.59 ID:sgDwh9fo0.net] ならないでしょ
510 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 23:54:40.36 ID:sgDwh9fo0.net] 使われていないということと 避けるのが今の主流という主張では、 開きが大きすぎる 使ってはいけないものなら、 国際化される際に却下されても良いでしょう ウムラウト等のアクセント記号も使ってはいけなくなりそう 英文字のアンダーラインと同様アラビア数字の修飾と受け取れば良いのでは
511 名前:デフォルトの名無しさん mailto:sage [2022/09/25(日) 23:58:01.58 ID:sgDwh9fo0.net] 特に異議がなければ、スレ違いですので、私はこの話題は止めたいと思います 続けるまら、この板の文字コードスレに移動した方が良いと思います
512 名前:デフォルトの名無しさん [2022/09/26(月) 14:23:54.07 ID:heiSJ5NKa.net] よほど埋めたい話題が100レス以上前に
513 名前:デフォルトの名無しさん [2022/09/26(月) 18:48:56.08 ID:4uVE3Hdr0.net] >>497 日本のグローバル企業は、PCですら英語キーボードで統一している。 ファーストリテイリング社は日本でもすべて英語キーボード。 日本語、英語、中国語が社内公用語で、日本語特有の文字は使わない。
514 名前:デフォルトの名無しさん [2022/09/26(月) 18:51:46.46 ID:4uVE3Hdr0.net] >>502 あのさ、英語のドキュメントや、英語のマニュアルが原文の日本語で①や②なんて見たことねえだろ? しかも丸で囲むことにたいした意味がない。 ①だったら、1. と書けばいい。
515 名前:デフォルトの名無しさん mailto:sage [2022/09/26(月) 19:13:51.47 ID:m6MfDOb60.net] >>505 >>499 が実現すると記譜が書けるようになるんですけど
516 名前:デフォルトの名無しさん mailto:sage [2022/09/26(月) 22:51:14.79 ID:n/I9g/yq0.net] >>504 使
517 名前:、文字とキーボードってほとんど関係ないんじゃ? [] [ここ壊れてます]
518 名前:デフォルトの名無しさん (ワッチョイ b35f-4fyb) [[ここ壊れてます] .net] >>507 じゃあ、英語のキーボードで日本語の記号をどれだけ変換なしで入力できるか、やってみて感想を書いてくれ。
519 名前:デフォルトの名無しさん (ワッチョイ b35f-4fyb) [[ここ壊れてます] .net] 英語のキーボードはとにかくキーが少ないから苦労するよ。 アプリケーションのショートカットキーも日本語版と英語版のアプリケーションで違ったりもする。
520 名前:デフォルトの名無しさん (ワッチョイ 1263-tX/F) mailto:sage [[ここ壊れてます] .net] 英語キーボードで、ドイツ語のsや、フランス語のcってどうやって入力するんだろう 変換無しで頼む
521 名前:デフォルトの名無しさん (ワッチョイ 1263-tX/F) mailto:sage [[ここ壊れてます] .net] ちゃんと貼り付いてなかった ドイツ語のエスツェット(βに似ている奴)、フランス語のシーセディーユ(ヒゲのあるC) それぞれの国用キーボードだと入力は簡単なんだろうが
522 名前:デフォルトの名無しさん mailto:sage [2022/09/27(火) 21:09:33.13 ID:/UUTRmF20.net] >>508 変換なしって、カナ入力か?使ったことないからわかんないや。 というか、漢字の入力でさえ変換が必要なのにそんな変な縛りを入れる意図はなんだろう。
523 名前:デフォルトの名無しさん mailto:sage [2022/09/27(火) 22:52:29.05 ID:6x+L03Z70.net] ctrlなんとかで打つか 記号や数字のキートップを犠牲にしているようですね
524 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 11:46:12.53 ID:3agmovDa0.net] >>510 ,511 ß "s-zet" (ß): Hold down "control" and press the ampersand (&) (i.e. Shift + 7) Cédille (ç), type ' then c. Circonflexe (ê), type ^ (shift + 6) then e. Tréma (ö), type ” (shift + ') then o. To type French quotation marks « » use ctrl + alt + [ and ], respectively.
525 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 21:52:38.01 ID:rizFYsT00.net] スレチだったら申し訳無いんですが… WinFormsやQt、WindowsOSのエクスプローラといったGUIのコントロール(ボタンやテキストボックス等)って 一般的にどの程度のインターバルでユーザの入力を監視しているものなんでしょうか? モニターのリフレッシュレート?60Hzとか決め打ち?
526 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 22:06:07.08 ID:FwwpeUCX0.net] 1文字キー入力するとイベントが発生するので1文字毎じゃないの? そういう話じゃなくて?
527 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 22:35:53.49 ID:Jk2txA1W0.net] ゲームじゃないんだからフレームレート毎の判定になんて普通はならない (大昔のゲームならボタンなどが押されたか判断する為に、レジスタをVBlank中にチェックするみたいなのはあった) >>516 が言う通り、OSがキーイベントが発生してGUI部品にも伝播されるからOSの処理に依存しているという感じかと もっと細かく言えば、キーボードを押されると割込みが発生してOSがそれを処理し 該当のウィンドウのイベントキューにキーイベントを設定するみたいな流れかと思う ボタンなどは大体が親ウィンドウから伝播される流れかと思う
528 名前:はちみつ餃子 mailto:sage [2022/09/28(水) 22:37:47.62 ID:koSj9wX00.net] >>515 昔のデバイスではハードウェア割込みを使っていたが USB はホスト側からのポーリングが必要で、ポーリング周期は 1 ミリ秒。 監視の周期は 1 ミリ秒といえると思う。 私も詳しいことは知らんから規格を読んで。
529 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 23:04:30.86 ID:rizFYsT00.net] 画面の更新とは独立して検知しているんですね。 レスくれた方ありがとうございます。
530 名前:デフォルトの名無しさん mailto:sage [2022/09/28(水) 23:08:09.59 ID:TpKsshQJ0.net] このスレは言語だけでなくハードにも詳しい人がいるから面白い
531 名前:デフォルトの名無しさん mailto:sage [2022/09/29(木) 00:10:32.04 ID:SSQ+XiTZM.net] Linuxでマウスのポーリング間隔を計測したら124Hzだった かなりの高頻度でポーリングしてんだな USB3.0ポートに繋いでるからかもね 安もんマウスなんで高頻度過ぎて多分無意味w
532 名前:デフォルトの名無しさん mailto:sage [2022/09/29(木) 02:33:05.99 ID:LGluMbhi0.net] ここで聞いていいかわからないんですが、↓こういうことをCでできますか? https://ideone.com/TqQjef func1〜3を並列で動かしたいということです。 おかしな質問だったらごめんなさい。
533 名前:デフォルトの名無しさん mailto:sage [2022/09/29(木) 03:21:58.53 ID:A75TDx2R0.net] 字面通りの仕様ならばFIFO QueueとThreadかな。あと排他制御も必要。 C++にはdequeというのがあるがC言語には無いのでFIFO Queueは自作。 threadとmutexはpthreadにある。 そもそも並列処理にする必要があるのかという疑問。
534 名前:デフォルトの名無しさん mailto:sage [2022/09/29(木) 07:11:32.06 ID:u1XdWODdd.net] その用途にdequeはあんまり使いたくない
535 名前:デフォルトの名無しさん mailto:sage [2022/09/29(木) 10:55:30.48 ID:LGluMbhi0.net] >>523 なるほど、マルチスレッドならできそうですね。 ありがとうございました。
536 名前:デフォルトの名無しさん mailto:sage [2022/09/29(木) 11:36:57.56 ID:coJQxMplM.net] 1reader 1writer なら、ロックの要らないリングバッファが有るからそれ使えば簡単
537 名前:デフォルトの名無しさん [2022/09/29(木) 20:52:44.75 ID:JJSkrqV80.net] >>515 それ機械的な割り込みのことを聞いているのか?
538 名前:デフォルトの名無しさん [2022/09/29(木) 20:58:02.77 ID:JJSkrqV80.net] 出力と入力が同じようなものと思うの発想が斬新だなw
539 名前:デフォルトの名無しさん mailto:sage [2022/09/29(木) 21:32:48.50 ID:mQhfaXoY0.net] V-Sync割り込みとかで止まってる爺かも
540 名前:デフォルトの名無しさん mailto:sage [2022/09/29(木) 23:05:54.85 ID:A5fNHdBh0.net] HALTして割り込みで復帰が普通
541 名前:デフォルトの名無しさん [2022/09/30(金) 03:14:55.05 ID:iZ78CqR8a.net] 質問者はキーボードやマウスなど入力と、画面の表示が一緒だと思っているようなコンピューターオンチだ。 画面はパラパラアニメだということもわかっていない。 アニメや映画の仕組みもわかっていないレベル。
542 名前:デフォルトの名無しさん [2022/09/30(金) 03:21:25.79 ID:iZ78CqR8a.net] ハードウェアよりBIOS、BIOSよりOSが低レベルを担っていると思うのは、すべてが逆だよな。 日本人は機械がなくてもWindowsがあれば、掃除機が出現すると思うレベルまでITオンチが進んだのか。 とにかくおそろしい。
543 名前:デフォルトの名無しさん mailto:sage [2022/09/30(金) 07:11:56.10 ID:8MIWcIcdd.net] 通販?
544 名前:デフォルトの名無しさん mailto:sage [2022/09/30(金) 09:18:49.43 ID:gcn5oswqr.net] >>518 www.kumikomi.net/archives/2007/03/22usb1.php?page=5 本家あたるのはしんどいので、似たところでこれか USB の電線上では 1ms(125us) だけど USBホストコントローラから CPUへ割り込みの発生もやってるっぽい (ホットプラグ関連)
545 名前:デフォルトの名無しさん [2022/09/30(金) 18:40:09.67 ID:J+iH2myB0.net] 一部のゲームだとOSから発生したマウスイベントを処理するんじゃなくてゲームのメインスレッドでボタン押下をチェックしてボタン押下の処理をすることもあるし、 質問者がそう思うのも不思議じゃないかな。 普通のGUIフレームワークじゃイベントはキューに貯まると思うけども。
546 名前:デフォルトの名無しさん mailto:sage [2022/09/30(金) 20:39:03.45 ID:wR7Vqe0SM.net] 家庭用ゲーム機の場合は入力をポーリングしてる気がしないな ゲームコード側から1/60秒毎に要求が有るからそれに対応すれば良いだけだし ま、確証は無いけどね
547 名前:デフォルトの名無しさん [2022/09/30(金) 20:54:41.19 ID:J+iH2myB0.net] 実際処理落ちするとフレームが更新されるまでボタンを押し続けないと駄目なゲームって結構あるでしょ。そういうことだよね。OpenGLなんかでプログラム書くと普通にグラフィック更新とキー処理なんかは同じスレッドでするしね。 普通のGUIアプリでもOSのカーネルタスクがめちゃくちゃ重くなるとキー入力を取りこぼしたりするのは、ポーリングが人間の入力に間に合ってないからだと思うな。遅れるわけじゃなくて初めと最後だけ入力されたりとかする。
548 名前:はちみつ餃子 mailto:sage [2022/10/01(土) 01:21:56.84 ID:yMZ0QeEO0.net] アプリケーションレイヤでの話としては Windows のコントロールは基本的にメッセージを介した非同期的な 処理なので周期もくそもないんだけどこのスレに現れて GUI フレームワークの知識があるくらいの人 (>>515 ) が イベントドリブンの理念を知らないなんてことあるだろうか? 根本的な勘違いをしているのか質問が下手なのか。 どういう事情があってこういう質問をしたのか気になる。 一応はある瞬間に状態を取得する API (GetAsyncKeyState) もあってゲームとかではそれを使うこともあるが…… その場合にはディスプレイのフレームレート (というかそのソフトで画面を書き換える頻度) 以上の頻度で読んでもあまり意味がないから フレームレートに合わせるということはあるかもしれんね。
549 名前:デフォルトの名無しさん mailto:sage [2022/10/01(土) 01:42:40.84 ID:QBMbIy+T0.net] ある8bitPCのBASICでVsync割り込み時にキーボード信号読み取ってたの思い出した。 (INPUT、INKEY$等キーバッファ関連用)
550 名前:デフォルトの名無しさん mailto:sage [2022/10/01(土) 01:53:45.14 ID:6Ogoexfu0.net] ファミコンやスーパーファミコン時代はVSync割込みが始まってVBlank期間内に あらゆるレジスタの入出力をしないといけないので、キー関連はそのタイミングで取得して 内部の特定ワークに保存(一つ前の情報も残しておいて押しっぱなしかどうかの判断も出来るようにする)してた 最近だとUnityでもキーの状態を取得する処理があるので ゲームだと処理タイミングの時点で取得も普通にあるという事なのだろう
551 名前:デフォルトの名無しさん mailto:sage [2022/10/01(土) 09:29:35.56 ID:k1H7sgVC0.net] 陰気$ 陰茎$
552 名前:デフォルトの名無しさん [2022/10/01(土) 14:27:53.39 ID:AfDQiB090.net] >>535 それDirectXとかの場合でしょ?、
553 名前:デフォルトの名無しさん mailto:sage [2022/10/02(日) 14:33:41.09 ID:HMtDa2gtd.net] >>540 ハードウェア上の要求というより 画面上のキャラが1単位動く間に2回以上キー入力できても意味がないから… ゲームセンターあらしではパックマンのモンスターが1/60秒に一回しか動けないことを見きってそれ以上の速度で動いてかわしてたっけなw
554 名前:デフォルトの名無しさん mailto:sage [2022/10/02(日) 17:08:59.14 ID:6R54+eoOM.net] 炎のコマw 自機だけ超速で動かすとか、絶体不可能なのはちょっと考えれば分かる事だが、子供の頃は夢中になって読んでたな 平和な時代だった
555 名前:デフォルトの名無しさん mailto:sage [2022/10/03(月) 07:25:12.33 ID:W4n4sBc4d.net] 高橋名人は16連射してたけど、1ギガ連射位すれば高周波で誤動作させたりできるんじゃね? 知らんけどw
556 名前:デフォルトの名無しさん (ワッチョイ 7f36-8eI1) mailto:sage [[ここ壊れてます] .net] 某レースゲームは画像は60fpsでも内部では120fpsだか240fpsで処理(挙動計算?) してるってインタビューあったわ。 当時はすげぇと思ったけど、PCの場合モニタのフレーム数(60/144Hzの違いとか)によって挙動(操作感覚) が変わるの防ぐには必要な仕様なんだと思った。
557 名前:デフォルトの名無しさん mailto:sage [2022/10/03(月) 09:27:43.78 ID:f3Oj1zc00.net] この話に標本化定理って関係ある?
558 名前:デフォルトの名無しさん [2022/10/03(月) 11:06:24.59 ID:BGisZcina.net] >>515 ポーリングじゃなくてハードウェア割込みでメッセージキューに入るんだろ 敢えてポーリングってことで言うならメッセージループディスパッチャを回す速度に依存
559 名前:デフォルトの名無しさん mailto:sage [2022/10/03(月) 11:12:07.71 ID:BGisZcina.net] >>534 USBじゃなくて受信機がUSB接続のリモコンとか bluetoothの可能性もあるな
560 名前:デフォルトの名無しさん (ワッチョイ 2369-7uza) mailto:sage [[ここ壊れてます] .net] >>549 (Windowsで)キーボード・マウスの HIDドライバがどういうことやってるか調べることになりそうだな イベントドリブンになってるのか、テーブル更新しつつ親元でポーリングしてもらうのか
561 名前:デフォルトの名無しさん mailto:sage [2022/10/03(月) 16:42:09.20 ID:wqwjoJ6ZM.net] >>546 物理エンジンは1フレーム内でほんのちょっとずつ動かしながら何10回も計算するよ 現実を模倣するには無限大回数計算しないといけないけど、コンピューターでそんなこと不可能だし、floatの精度の問題も有るから適当なところで妥協しないといけない その辺が工夫のしどころなんだろう
562 名前:デフォルトの名無しさん (スッププ Sdff-o6p2) mailto:sage [[ここ壊れてます] .net] その最少単位をフレームと呼ぶんじゃないかね
563 名前:デフォルトの名無しさん (ワンミングク MM9f-A0fl) mailto:sage [[ここ壊れてます] .net] 処理回数なんてメインループのsleep(0.1)をsleep(0.05)にするだけじゃね
564 名前:デフォルトの名無しさん mailto:sage [2022/10/03(月) 23:10:54.51 ID:i+Hjk1b8M.net] >>552 いや、1/60秒は余りにも刻みが粗すぎる もちろん表示するのは1/60秒の1フレーム単位だけど
565 名前:デフォルトの名無しさん mailto:sage [2022/10/04(火) 06:12:56.51 ID:zVvu+tPFd.net] 1/60が「フレーム」じゃないぞ
566 名前:デフォルトの名無しさん [2022/10/04(火) 17:12:48.24 ID:yz9a92LC0.net] 画面表示の仕組みを知らないやつは延々と変なことを言い続けるんだろうな
567 名前:デフォルトの名無しさん mailto:sage [2022/10/04(火) 17:45:25.41 ID:aM4Np9N0d.net] 昔は単純だったな 1/60か1/30程度の違いしかなかった 今では画面リフレッシュ・画面レンダリング・ゲームメインのすべてフレームレートが違うこともあり得る
568 名前:デフォルトの名無しさん mailto:sage [2022/10/04(火) 19:20:23.55 ID:HRzr8cMv0.net] https://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AC%E3%83%BC%E3%83%88 フレームレート (Frame rate)は、動画において、単位時間あたりに処理させるフレームすなわち「コマ」の数(静止画像数)を示す、頻度の数値である[1]。
569 名前:デフォルトの名無しさん [2022/10/05(水) 15:02:45.22 ID:e4u4SFLE0.net] >>557 そういう話ではない
570 名前:デフォルトの名無しさん mailto:sage [2022/10/05(水) 15:08:40.11 ID:j989iulk0.net] ここはC言語のスレなんだから、もうちょっとC言語寄りの話題に
571 名前:デフォルトの名無しさん [2022/10/07(金) 12:25:51.07 ID:d4ub3t4La.net] 最小tickがOSのAPIに依存する件 (というか関数毎に違うよね)
572 名前:デフォルトの名無しさん (スッップ Sd1f-o6p2) mailto:sage [[ここ壊れてます] .net] APIは単に最少論理単位を定義してるだけで実際の最少単位はOSバージョンやハード構成によって変わるはず
573 名前:デフォルトの名無しさん (スッップ Sd1f-o6p2) mailto:sage [[ここ壊れてます] .net] >>558 >CGの用語では、この処理レートを「フレームレート」と呼ぶ場合があったため、混乱が生じた。
574 名前:デフォルトの名無しさん [2022/10/07(金) 22:30:13.84 ID:XEr8QNZEM.net] VRAMにあるデータを決まった間隔でモニターに表示する。 VRAMのデータの書き換え速度はビデオボードによる。 C言語そのものは画面表示の速度の規約がない。 C言語は画面表示のライブラリすら持っていない。
575 名前:デフォルトの名無しさん [2022/10/08(土) 04:40:32.95 ID:M3iYd9Ol0.net] 日本が世界に誇るハイレゾリューション VGA 640x480 60 Hz インタレース。 日本の技術は世界一。
576 名前:デフォルトの名無しさん mailto:sage [2022/10/08(土) 10:43:30.99 ID:PvpQyv2P0.net] おじいちゃん、その昔話は耳にタコが出来るくらい聞いたわよ(´・ω・`)
577 名前:デフォルトの名無しさん mailto:sage [2022/10/08(土) 12:19:20.81 ID:ZnjC3ipUd.net] PC98やファミコン時代の話は誰も求めてないだろw
578 名前:デフォルトの名無しさん mailto:sage [2022/10/08(土) 13:35:27.64 ID:bICsKedU0.net] MSXは?
579 名前:デフォルトの名無しさん [2022/10/08(土) 20:16:07.42 ID:ymYjs6gE0.net] >>565 PC-9801 は 640x400 じゃなかったかな? 640x480 の VGA は IBM-PC の方だからアメリカでは?
580 名前:デフォルトの名無しさん mailto:sage [2022/10/08(土) 20:26:05.65 ID:0FC8+6ie0.net] IBM-PC 最初の頃の規格だとCGAで80x25、640x200だったような 8000シリーズでもこれに合わせてたような VGAはPS/2あたりから出てきたんじゃなかったかな EGA, MCGA, VGA, SVGA, XGAとか、色々あったっけな
581 名前:デフォルトの名無しさん mailto:sage [2022/10/08(土) 21:21:27.32 ID:HMr71tmI0.net] >>569 だよな 98は400を「超高解像度」と言ってたw
582 名前:デフォルトの名無しさん mailto:sage [2022/10/08(土) 22:15:12.93 ID:ZFrVAqsjM.net] VGAと言ったら320x200だな 1ドット1バイトなので丁度64KBになって、16bitコードがリニアにアクセス出来た ただ、1ドットが正方形じゃないので、正方形のMode X(320x240)を使うにはDOSエクステンダーが必要だったな
583 名前:デフォルトの名無しさん mailto:sage [2022/10/08(土) 23:35:22.44 ID:+S45qfPzd.net] >>572 どーでもいいことだが 聞き捨てならんw 320x200は65536じゃねーよw
584 名前:デフォルトの名無しさん mailto:sage [2022/10/08(土) 23:45:07.70 ID:0FC8+6ie0.net] じゃあ、PC8001 はVGAだったんだな
585 名前:デフォルトの名無しさん mailto:sage [2022/10/08(土) 23:49:08.81 ID:uyhPMEAG0.net] 画面に表示されない、VRAMの余り部分はCG用ワークエリアに使われることが多い。 88とかは1プレーンに16Kバイト用意されてるけど、表示されるエリアは640ドット(80バイト)x200ラインで16000バイト。 あまった384バイトを使って背景とキャラを重ね合わせ描画をして表示エリアへ転送とかやってた。 話をプログラム寄りにもどして、 ゲームでCG表示が他ゲーより余りに遅いの見かけると、 CG周りをアセンブラじゃなくてC等の高級言語で書いてるんじゃないかと邪推してた。
586 名前:デフォルトの名無しさん mailto:sage [2022/10/08(土) 23:52:19.01 ID:ymYjs6gE0.net] 縦が200ドットというのはNTSCでの出力の都合だろうな。
587 名前:デフォルトの名無しさん mailto:sage [2022/10/09(日) 00:46:24.07 ID:MI3uCIAzM.net] >>573 丁度じゃなかったw ま、64KB以内ということで
588 名前:デフォルトの名無しさん [2022/10/09(日) 04:58:58.93 ID:PpV7AUpt0.net] そういや昔インターレースなのを利用して400ドットを表示するなんてことやってなかった? チラチラして見れたもんじゃないが一応表示はされるという。
589 名前:デフォルトの名無しさん mailto:sage [2022/10/09(日) 06:16:13.64 ID:pElHhn0J0.net] >>578 Basic Master Level 3 かな かな文字表示のためにインターレース表示しててチラつき防止のために専用の長残光ディスプレイがあった
590 名前:デフォルトの名無しさん mailto:sage [2022/10/09(日) 11:31:59.17 ID:ktekxUQbd.net] わー懐かしい カーソル点滅が速くて仲間内でハイフラって呼んでた
591 名前:デフォルトの名無しさん [2022/10/09(日) 15:31:02.03 ID:ER77cUawF.net] PC98でラスター480表示するTSRも存在した希ガス
592 名前:デフォルトの名無しさん mailto:sage [2022/10/09(日) 16:21:41.40 ID:bJ7Ye0Ve0.net] 26行計画だっけか? 表示エリアの外に表示しますってプログラムがあったね
593 名前:デフォルトの名無しさん mailto:sage [2022/10/09(日) 16:56:05.30 ID:Rj5ElR5Pd.net] 30行計画
594 名前:デフォルトの名無しさん mailto:sage [2022/10/09(日) 17:07:00.15 ID:Rj5ElR5Pd.net] FDDのオーバートラック 286のHMA CRTCをプログラムでハード破壊 なんか、こういうの色々あったな
595 名前:デフォルトの名無しさん mailto:sage [2022/10/09(日) 20:59:59.12 ID:x4NHwN4o0.net] C言語ってパソコンの内部まで理解してないとムズイ? メモリがどうとかクロック数が幾つとか
596 名前:デフォルトの名無しさん mailto:sage [2022/10/09(日) 21:14:06.38 ID:pElHhn0J0.net] >>585 > メモリがどうとかクロック数が幾つとか そんなものは知らなくても組めるけどそもそもC言語使う必要あるのか?
597 名前:はちみつ餃子 mailto:sage [2022/10/10(月) 00:47:38.73 ID:95zl+JNn0.net] >>585 C の言語仕様は言語仕様上で規定する仮想的な機械の挙動として記述されていて 現実の処理系がどのような機械語を生成するのかは規定してない。 見かけ上の挙動が仕様通りならどういう機械語が生成されてもよいことになってる。 現代的な処理系はすごく高度な最適化をするのでどういう機械語が生成されるのか事前に想像するのは難しいし。 どうしてもすごく高速に動いてほしいプログラムを気合い入れてチューニングしたりする場合には ハードウェアの知識が必要になることも有るし、 他の言語との接続が必要なときにはメモリの管理方法を協調させないとおかしなことになったりもするけど 結局のところやりたいこと次第だし、入門レベルでは気にする必要はない。 今ならアプリケーションレイヤで動くプログラムでクロックを意識するようなことはまずない。 現代のパソコンやスマホくらいの高級な CPU では機械語を分解して 最適化した内部命令 (インテルだと μop と呼んでいるようだがメーカーによって名称はいろいろ) を生成したりする 工程があるので、クロックも一定とは限らない。 そこまで高度なことをしない CPU でもだいぶん前からパイプラインは採用されてるから、 単純に命令ごとのクロック数を合算した値が処理時間になったりはしないし。
598 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 01:08:56.92 ID:dL9jKsv+0.net] i++; 辺りは効率の良い機械語翻訳を期待していると思う
599 名前:はちみつ餃子 mailto:sage [2022/10/10(月) 01:16:27.83 ID:95zl+JNn0.net] 言語仕様で規定する仮想的な機械が (C が初期に使われ始めたコンピュータである) PDP と親和性が良すぎるので C のことを PDP エミュレータと揶揄することもあるらしいね。
600 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 06:33:30.58 ID:ICu0RgND0.net] >>585 何のプログラムを作るかによる おまえさんが言うようにハードがわかる必要があったり 簿記や不動産取引がわかる必要があったり
601 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 08:21:20.44 ID:C38R1GQo0.net] おそらくそこまで高度なことは求めてないよ クロックという言葉を知ってたから口走ってしまっただけで意図としてはハードウェアの知識をつけないとC言語は使えないのかと聞きたかっただけだと思う
602 名前:デフォルトの名無しさん (ワッチョイ 8a7c-O9y3) mailto:sage [[ここ壊れてます] .net] C言語関連のシステム系の質問していいですか? 微妙にスレチっぽいですが、このスレの人が一番詳しそうなのでご容赦ください。 最近Windows Server 2019マシンを導入し、Windows10で使っていたソフト(他社製)を持ってきたところ ほぼ全部問題なく動くのですが、一つだけ10倍以上遅いソフトがありました。 そのソフトはexe1個のみの構成で、Dependency Walkerで調べると C:\Windows\System32\msvcrt.dll に依存していました。 (他の正常動作するソフトでmsvcrt.dllに依存するものはなし) Cにはあまり詳しくないのですが、昔mallocが異様に遅い環境で苦しんだことを思い出し もしかしてWindows Server 2019のmsvcrt.dllの出来が悪いor相性問題が原因なのではと思いました。 そこで考えたのですが、Windows10のmsvcrt.dllを持ってきて使ってみるというのはどうでしょうか? とりあえず速度が正常に戻ってくれれば十分なのですが、やめたほうがいいでしょうか?
603 名前:デフォルトの名無しさん (アウアウウー Sa2f-tmeX) mailto:sage [[ここ壊れてます] .net] やめた方がいい 絶対他に原因あるわ
604 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 11:44:15.39 ID:5N3s1AfQ0.net] >>593 やっぱりそうですかね・・・ リソースモニターとかで調べてはみたものの原因がさっぱり分かりません。 特にIOが遅いように感じるんですが、ハイグレードなSSDを積んでいるのでハードとしては問題ないと思います。 100万円クラスのマシンですし他のハードもスペック的には問題ないはずです。 ちなみに試しにWindows10のmsvcrt.dllをexeと同じフォルダに置いてみたのですが、どうも使われていなさそう。 dll検索順ってカレントディレクトリが最優先じゃなかったでしたっけ? できるか知りませんが、System32のdllをspecificに参照するようになっていたらそもそも無理ですね。 開発元に聞けたらいいのだけど諸事情でそれが不可能です。
605 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 13:06:26.88 ID:+EPzVvoud.net] 微妙じゃなくて完全にスレチw Windowsシステム関連のスレで聞いたほうがいいと思う
606 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cb3e-kHT+) mailto:sage [[ここ壊れてます] .net] >>594 > dll検索順ってカレントディレクトリが最優先 もし単純にそういう順序を適用するとマルウェアがファイルをそこに置くだけでプロセスを乗っ取れてしまう。 レジストリのどこかに登録されているやつは別扱いにするとかのややこしいルールがあったはず。 > 特に IO が遅いように感じる IO が遅いというのが事実だとしたら ① 物理的に乗っているのが SSD でもハードウェアの自動認識が誤っていて古いインターフェイスでやり取りしている ② たまたまそのアプリケーションがデバイスドライバかコントローラのバグを踏むような制御になっている ② HDD で性能が出るようにアプリケーション内で凝った制御をしていたが SSD が速すぎて狂った などの事情は思いつくけど……
607 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 14:32:16.59 ID:5N3s1AfQ0.net] >>595 Windowsシステム関連のスレがないか探しましたが、どうもこれというのがないんですよね。 Windows板かな?あそこは一般コンシューマが多くてこの手の質問はしにくいのが・・・。 引き続き海外フォーラムを漁ってみます。 >>596 詳しくありがとうございます。 ご提示のものが原因とすると、ちょっと自分の手に余りそうです。 他の似たようなソフトは軒並み問題ないのに何でこのソフトだけ・・・と釈然としませんが どのWindowsでも同じように動きますなんてそう甘い話はないということかな。
608 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 14:37:10.94 ID:1bdf6+Ty0.net] 存在しないネットワークドライブにアクセスしに行って、タイムアウトするまで固まるとかは時々遭遇するけどはたして
609 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 14:51:34.42 ID:YCEUCnMua.net] ていうか作者に障害報告しろや
610 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 14:56:11.84 ID:mfO2JKX70.net] ライセンス料を払いたくないやつかな?
611 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 14:58:25.83 ID:2QXR7TRNd.net] 鯖機だとベンダー独自の機器やドライバが入ってたりするだろうから分かる奴はほぼいないだろうな
612 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 15:00:55.06 ID:dL9jKsv+0.net] >>597 >一つだけ10倍以上遅いソフト この製造元に聞くのが最短だと思う
613 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 18:15:26.96 ID:5N3s1AfQ0.net] 製造元には軽く聞いてみたのですがサポート対象外ですと一蹴されました。 諸事情により相手のほうが立場が上で、現段階でこれ以上聞き出すのは難しいのですが 上手く機会を作って情報を得たいと思います。 皆さんありがとうございました。
614 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 07:55:01.73 ID:1DnVcsvQd.net] やはりな
615 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 08:00:48.49 ID:+IdMirEn0.net] Windows Server で Hyper-V 動かしてその上に Windows 10 入れてそのアプリ動かせばええやん
616 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 09:05:08.75 ID:1DnVcsvQd.net] ハイパーバイザー型よりホスト型の方が融通効くしフリーのもある
617 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 09:19:51.89 ID:lDI8MaGS0.net] 個人利用なら好きにすればいいけど共用のサーバー機でそんなことして問題起きると責任問題になるよ
618 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 09:26:18.23 ID:+IdMirEn0.net] >>606 Hyper-V は両方あるからわざわざ 「Windows Server で」って書いてある >>607 普通はシステムのdll置き換えようとしてる時点で責任問題になるしそもそも Windows 10からアプリ持ってきてる時点でライセンス大丈夫か?って思うだろ
619 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 09:44:54.24 ID:S5uegLjFa.net] msvcrtってMicroSoft Visual C/c++ RunTimeなんだよね C言語ってライブラリを静的リンクすることが多いけど共通部分をdllにしたらディスク容量が少なくて済むんじゃねって発想で作られた過去の遺物 今は積極的に使うべきものじゃない おそらく古い古いソフトなんじゃね
620 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 09:48:41.00 ID:S5uegLjFa.net] そういう古いソフトは当然のように32ビット(ひどい時には16ビット)だから64ビット環境ではエミュレーションが働く その辺に何かありそうな気がするな知らんけど コンパイルし直せば直るような気がしないでもないがメーカーが対応する気ないんじゃどうしようもない
621 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 14:18:13.05 ID:UUE3JARA0.net] >>585 メモリとハードディスクの違いくらいはわかってないと無理でしょ
622 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 14:24:20.66 ID:e/MLj7zo0.net] Z80 は楽だったなあ
623 名前:ハノン108 mailto:sage [2022/10/11(火) 18:29:10.92 ID:RNyxjBqNH.net] >>610 16ビットはエミュレーションは利きません!
624 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 18:50:36.59 ID:D4ywmAPt0.net] >>613 なんで? https://learn.microsoft.com/ja-jp/sql/odbc/microsoft/using-16-bit-applications-with-32-bit-drivers?view=sql-server-ver16
625 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 19:07:33.88 ID:M2HX+v9qM.net] 64bit Windowsでは16bitアプリは動かせない(エミュレーション環境は32bitだけ) 32bit版Win10 ならかろうじて可能性はあるがWinServer2019は64bitだけなので完全に無理
626 名前:ハノン mailto:sage [2022/10/11(火) 19:10:36.62 ID:RNyxjBqNH.net] >>614 それは 32 ビット版 Windows の話 64 ビット版 Windows は 16ビットアプリを捨てました、AMD64 アーキをもっと勉強してね!
627 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 19:31:53.97 ID:D4ywmAPt0.net] >>616 サードパーティだがWineVDMというのを使えば動くようだ 勉強になったか?
628 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 19:49:30.50 ID:e/MLj7zo0.net] 32ビット版の仮想を動かしてその中で16ビットアプリを動かす事は出来る そういう多段ロケット使えば良いんだがそこまでして今動かすものがないw
629 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 20:01:38.90 ID:1DnVcsvQd.net] >>616 64bitホストに32bitゲスト載せるとさ 普通に16bitアプリを実行できるんだけど 本当にハード的に不可能なんかね?
630 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 20:05:48.94 ID:1DnVcsvQd.net] 32bit OSでは4GB超えできないとかさ マイクソの集団催眠にかかったやつの言う ちったあ勉強しろってマウントは 呆れるの通り越して笑う価値もない
631 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 20:10:22.58 ID:D4ywmAPt0.net] エミュレータ使うならできない理由はないなあ 単にマイクロソフトが自前のエミュレータの提供をやめたというだけでAMD64がどうとか言うのは知識不足のマウンターの妄言としか思えないな
632 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 20:51:12.11 ID:X1iGovPsM.net] 32ビットすら打ち切りたそうなのに?
633 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 22:06:01.71 ID:aJhELtxJ0.net] じゃあまずお好きな言語でエミュレータを作ってそこで動くZ80プログラムを作れ。
634 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 22:06:38.42 ID:aJhELtxJ0.net] リロード忘れた。間に山盛りに他の書き込みが。 削除できないからもういいや。わすれてくれ。
635 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 22:31:48.32 ID:aIs/ZXKV0.net] XP mode はエミュレータか? おいサル
636 名前:ハノン mailto:sage [2022/10/11(火) 22:36:50.66 ID:d6pThQK8H.net] >>617 ,619 それってエミュレータでしょ?仮想的なCPUをコードでガリガリ書いてインタプリタしているって奴、そんなのでもまともに動く時代になったんですねえ >>618 ,619 私も 16 ビットを 64 ビットで動かすときはエミュっています http://takeda-toshiya.my.coocan.jp が有名で私も便利に使っています [] [ここ壊れてます]
638 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 22:46:46.46 ID:D4ywmAPt0.net] >>626 AMD64の勉強したらこの話に関係ないことがわかったか?
639 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 23:02:05.82 ID:d6pThQK8H.net] まあ私も「エミュレーション」という言葉を、ソフトウェアによるエミュレーションか、80386 がやり始めた仮想86モードという意味でのエミュレーションかをはっきり区別せずにパンパン書いたせいもありますね、ごめんなさいね
640 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 23:04:40.15 ID:D4ywmAPt0.net] WOW64とサンクはその話とはまた別だぞ それはハードの話だろ MSが提供しなくなったのはサンクだ
641 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 23:21:05.30 ID:aJhELtxJ0.net] thanks
642 名前:デフォルトの名無しさん mailto:sage [2022/10/12(水) 01:05:29.68 ID:P/bHT4Cpr.net] サークルKサンクス潰れたから提供のしようがない
643 名前:デフォルトの名無しさん mailto:sage [2022/10/15(土) 18:58:46.26 ID:fQccGg0Vd.net] なぜつまらないとわかっていてオヤジギャグを何故言ってしまうのか チコちゃんで脳科学的に分析してて笑ったわw
644 名前:デフォルトの名無しさん mailto:sage [2022/10/15(土) 19:44:27.23 ID:jaz9tT2QH.net] >>632 なんでなんで!
645 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 03:24:32.42 ID:y3K9DSVg0.net] ジジイだからだよ。
646 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 11:13:15.74 ID:SiOwIn850.net] ここはジジイしかいないからな
647 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 19:25:01.75 ID:aXExphHPd.net] >>633 歳を取ると語彙が増えていき頭の中でダジャレが浮かびやすくなる それと同時にセンスが低下して面白いギャグかどうかがだんだんわからなくなる 結果的におっさんはつまらないダジャレを思いついたらすぐ言うようになる
648 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 19:54:53.72 ID:UUAxnkpP0.net] オヤジギャグやダジャレより 連想したものをただ言ってれば、 例えツッコミ扱いしてくれて楽だろう
649 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 19:58:46.29 ID:4Jg9TvVE0.net] つまらなくても笑えよ。敬老精神が欠如しているのか。
650 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 20:00:11.34 ID:SiOwIn850.net] ソースにもだじゃれ入れてそう
651 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 20:25:40.72 ID:w47Nq7BKH.net] >>639 char aznable
652 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 22:06:49.25 ID:SiOwIn850.net] カウント変数にcuntは止めろとねんを押された
653 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 22:28:20.65 ID:NFETJM8p0.net] コーディング規約があるなら守りましょう
654 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 22:29:14.08 ID:NFETJM8p0.net] 一瞬idがNEETかと思ったが違ったw
655 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 22:48:13.58 ID:SiOwIn850.net] ソースではなく、make終了時にBIGCOCKと表示させてた奴を知ってる 本人いたら、ゴメンナサイ、バラしました
656 名前:デフォルトの名無しさん mailto:sage [2022/10/21(金) 21:25:54.17 ID:CZbur0iYd.net] そう、こういうの 全然どうでもいい事をさも重要な秘密のようにw
657 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 07:10:33.74 ID:9/1OGIJE0.net] 独り言です インデントは4を使ってきたのだがプロの世界?では2みたいだな 軽くショックを受けた
658 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 07:12:57.69 ID:9/1OGIJE0.net] ちなみにインデント2を使ってるのはcatコマンドのソースです https://sources.debian.org/src/coreutils/9.1-1/src/cat.c/
659 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 07:27:37.61 ID:i1fpLCEI0.net] プロの現場にそういうところもあるというだけだよ 1つ目撃したからってそれが全てだと思うのは 早まった一般化という誤謬だ 誤謬を多発するやつは論理思考が苦手ってことだ むろんプログラマとしての適性ではマイナス要素だ
660 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 07:32:06.64 ID:A1wSH6ms0.net] 昔は画面が狭かったからそういう主義のやつも割といた そろそろ淘汰されてる頃じゃね
661 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 07:39:15.76 ID:i1fpLCEI0.net] 一画面ルールってのもあったな
662 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 08:27:39.75 ID:HgiMaBnhM.net] 今でもそこそこ使われてるだろ 一画面とは言わないまでも100行ルールとかの発展型も多い ひとつの関数が何千行もあればコードレビューで問題にされる
663 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 08:40:19.94 ID:i1fpLCEI0.net] ダラダラ書くなって話が廃れたとは言ってないんだが
664 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 09:25:59.68 ID:+gGQ3BRS0.net] GNUスタイルのインデントはゴミ
665 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 09:26:11.73 ID:KYgyTmU4M.net] 名前空間やクラスを使わないC言語は特に文が長くなりがちだから、2のほうが使い勝手がいいと思うことはよくある
666 名前:デフォルトの名無しさん (ワッチョイ 1363-HLP5) mailto:sage [2022/10/30(日) 10:52:42.74 ID:vrlOFY0H0.net] >>647 のcatソース見たけれど、 私にはブロックが分かりにくいと感じた 見慣れれば良いのかも知れないが
667 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 17:05:35.10 ID:wnFbyiurd.net] >>647 rms仙人の直筆か プロ?と言って良いのかはさておきスーパーハッカーではあるね 関数呼び出しの()前の空白とかは結構独特なスタイルだと思うぞ
668 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 17:11:32.88 ID:c3va8FLBd.net] ✗直筆 ✓監修 プロとは我らIT土方の事を指すのです
669 名前:おじ乳輪様 [2022/10/30(日) 17:12:30.77 .net] 中括弧の位置とか関数呼び出しのスペースとかなんでこんな独特なスタイルなの? なんのメリットが?
670 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 17:24:51.13 ID:xXAnW4UR0.net] もともとは egrep とかで使いやすい とかいう理由だった気がする
671 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 17:30:55.10 ID:1Zssd/uh0.net] web.sfc.wide.ad.jp/~sagawa/gnujdoc/standards-19981118/standards-ja_5.html
672 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 17:33:33.15 ID:ZM6oqeKp0.net] GNUのソースは読もうと思って読んだがあのスタイルに拒否反応が出て駄目だったわ
673 名前:デフォルトの名無しさん [2022/10/30(日) 23:05:10.18 ID:KHak5nKt0.net] ( ´_ゝ`)フーン
674 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 23:45:46.77 ID:QW7VZG88M.net] インデントごときで読む気が無くなるのは、単に向いてないだけだなw
675 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 23:52:22.08 ID:vrlOFY0H0.net] うん、むいてないからお前がやってくれ
676 名前:デフォルトの名無しさん [2022/10/31(月) 00:03:46.32 ID:EzTz1A6M0.net] ( ´_ゝ` ) フーン
677 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 00:23:37.56 ID:8d/Em0+h0.net] スタイルがあるなら従うべきだけど、300-500行目に連発する } else { はさすがに目が滑る スクロールして追うのも辛い
678 名前:デフォルトの名無しさん [2022/10/31(月) 00:32:37.86 ID:MKojko7I0.net] ブロックの前にインデントを入れてるのはブロックも文なんだから単一文の時と同じようにインデントを入れるべきという理屈かな?
679 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 01:42:04.37 ID:8d/Em0+h0.net] >>667 それ自体は一貫してるからいい、ただしこの場合は対応するifから平気で50行以上も離れているので、elseだけじゃスクロールバックしないと条件が何か分からん エディタのfold機能を活用するのもアリだけど、プレーンテキストとして読めるべきという姿勢のようだから、まさに>>660 にある #ifdef foo ...(長いコード) #else /* not foo */ のようにelseにコメントを添えさえすれば、俺的にはオッケー 余談だけど 個人的にはプリプロセッサの条件も自由にインデントしてる # ifdef foo ... # ifdef bar .... のように 殆ど見かけないから決して他人には勧めはしないけど
680 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 01:43:55.98 ID:oYB2uzRMM.net] GNUのインデントは、Pythonを考慮すると利にかなってんだよな if foo: bar if (foo) { bar; } という対応がある Pythonはインデント自体にブロック要素があるから余計なカッコが要らないけど、Cはブロック要素にカッコが必要だから書いてあると考えれば、実はPythonと一緒なんだよ これに気付いた時はrmsは天才なんだと思い知らされた
681 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 02:16:22.63 ID:8d/Em0+h0.net] >>669 結果的に同じ形に落ち着いてるけど、pythonとは正反対の思想から生じている事もお忘れなきよう 尊師の第一言語はcでなく言語に構文要素自体が存在しないlispだから、改行のみからコードブロックとインデントレベルがフォーマッタを問わず一意に定められる c系統(いわゆるブレース言語)は言語に構文を採用しつつ、フリーフォーム記述の許す折衷だから、フォーマッタとスタイルにバリエーションが生じる
682 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 02:24:22.85 ID:8d/Em0+h0.net] 翻って、エディタ入力支援/フォーマッタプログラム無しにlispを記述するのは事実上不可能に近いので賛美してるわけではないよ 念の為
683 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 11:19:45.88 ID:0hSBCDEtd.net] ))))))))くらいは序の口だし、括弧を数えてたら気が狂うわな ネストレベルに応じて機械的に挿入されるインデントのみによって構造を把握するから、Lispは実質的にPython並にインデント強制
684 名前:はちみつ餃子 mailto:sage [2022/10/31(月) 11:43:48.99 ID:HpV/6ZOj0.net] 今となっては C だってエディタの支援なしに書く気にはならんけどな。
685 名前:デフォルトの名無しさん [2022/10/31(月) 13:07:16.76 ID:J5/naAYk0.net] >>673 それは慣れの問題
686 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 15:59:12.44 ID:YDjtl0u50.net] そう言うのには慣れたくない
687 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 16:35:29.26 ID:gpqFhr3z0.net] LISP は先にあるんだし、Python の文法は諸々の言語の影響結果だろ ブロックの開閉で改行するってのは、ALGOL系のBEGIN~ENDの強い影響を感じる Cではむしろ、少し自由な書式書法になっていたのが退化した
688 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 16:49:19.46 ID:YDjtl0u50.net] Cが退化したのではなく、人間が退化したんだろう
689 名前:デフォルトの名無しさん [2022/10/31(月) 20:11:09.56 ID:a6AXXlaBa.net] 括弧の入れ子がひどいコードを作ることがやばい
690 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 21:12:31.27 ID:YDjtl0u50.net] 初心者のために、本来不要だけど括弧を付けるときはあった
691 名前:デフォルトの名無しさん [2022/10/31(月) 21:55:34.36 ID:MKojko7I0.net] ウザ
692 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 22:06:42.50 ID:gNe27yrb0.net] >>679 俺は未来の自分のために言語仕様としては不要な括弧を付ける
693 名前:デフォルトの名無しさん mailto:sage [2022/11/01(火) 07:24:39.67 ID:8mAHYLmxd.net] 初心者でも務まる仕事か
694 名前:デフォルトの名無しさん mailto:sage [2022/11/01(火) 15:13:43.68 ID:hGXBrabD0.net] 若手に優しい配慮は必要だと思う いらないと言うことに気がつけば それはそいつの進歩だ
695 名前:デフォルトの名無しさん mailto:sage [2022/11/01(火) 18:32:43.22 ID:8mAHYLmxd.net] 甘やかしでしかない
696 名前:デフォルトの名無しさん mailto:sage [2022/11/01(火) 18:40:22.15 ID:hGXBrabD0.net] たった1人で好きなシステム組んでみて
697 名前:デフォルトの名無しさん mailto:sage [2022/11/01(火) 18:45:14.28 ID:8mAHYLmxd.net] 議論になってない
698 名前:デフォルトの名無しさん mailto:sage [2022/11/01(火) 20:23:05.05 ID:Lnx9eR9fM.net] 議論なんかしてないだろう
699 名前:デフォルトの名無しさん mailto:sage [2022/11/01(火) 21:17:55.24 ID:hxzN6YDm0.net] ということにしたいのですね
700 名前:デフォルトの名無しさん mailto:sage [2022/11/01(火) 22:30:37.78 ID:hGXBrabD0.net] オッサンは呼んでない
701 名前:デフォルトの名無しさん [2022/11/02(水) 11:37:22.22 ID:1ThO0l2A0.net] はつみみです
702 名前:デフォルトの名無しさん mailto:sage [2022/11/02(水) 21:00:24.72 ID:C3BaP9Oq0.net] 焼き鳥の通だけが知ってる稀少部位?
703 名前:デフォルトの名無しさん mailto:sage [2022/11/07(月) 17:58:10.87 ID:BvZ6DXqw0.net] >>658 呼び出し前スペースはプリプロセスをm4で強化するときに少し面倒になるな GNUはm4大好きなのにな
704 名前:デフォルトの名無しさん mailto:sage [2022/11/20(日) 17:25:16.95 ID:u5cvtrdO0.net] m4すらすら書ける人います?
705 名前:デフォルトの名無しさん mailto:sage [2022/11/21(月) 03:19:48.32 ID:Amw5zf2Y0.net] 大昔、sendmail.cf を生成するのによく使われてな。久しぶりに名前を聞いた。 autoconf をがんがん使うプログラマがいればワンチャン。
706 名前:デフォルトの名無しさん [2022/11/23(水) 15:53:36.98 ID:U6TEG1mTa.net] sendmail.cf なつかしす postfix に乗り換えちゃった
707 名前:デフォルトの名無しさん mailto:sage [2022/11/23(水) 19:55:29.66 ID:aRKGS4gV0.net] CF使った事あるw
708 名前:デフォルトの名無しさん mailto:sage [2022/11/25(金) 12:32:01.04 ID:FzNlCQf10.net] すまん、聞くことないわ
709 名前:デフォルトの名無しさん mailto:sage [2022/11/25(金) 12:49:25.94 ID:PV2ZG9bua.net] CF は m4 ではないやろ?
710 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 15:02:39.09 ID:ZPuEPm3M0.net] ttps://atcoder.jp/contests/abc273/submissions/35667282 このコードを実行するとscanfで入力を待つはずなのですが即座に終了してしまいます たまにそういうコードを見かけるのですが何が原因なのでしょうか printfを入れても実行されないのでmainがスキップしているような。。
711 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 15:40:10.03 ID:q8NQ5dwmd.net] あなたの環境のせいかと
712 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 16:09:51.97 ID:JXDLC/Oi0.net] コードが酷くてワロタw
713 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 16:26:50.49 ID:jAeBwf3w0.net] >>699 典型的な scanf() あるあるだな 最初の scanf() で数字 + 改行が読み込まれるが"¥d"だと数字だけ取り出して改行が残っちゃう 2回目以降のscanf()は改行が残っているから入力をスキップしてしまう scanf 改行 読み込み とかでぐぐると色々出てくる https://hiroyukichishiro.com/scanf-problems-in-c-language/ 回避方法はいくつかあるけど、個人的には static b[100]; fgets(b, sizeof b, stdin); N = atoi(b); ... fgets(b, sizeof b, stdin); d[i].key = atoi(b); みたいにするかな >>700 釣りか?
714 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 16:29:17.59 ID:LIu803lba.net] 普通のマージソートを読んでるだけで別に酷くなくね? エラーハンドリングしてないってことなら競プロではそれが常識だぞ 何を見て酷いと言ってるのか説明してくれ
715 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 16:33:06.65 ID:LIu803lba.net] >>702 \dじゃなく%dのことかな? そのコードの下にACが30個並んでるだろ? これは用意された30通りのテストケースにおいて想定通りに動いたということなんだよね つまりコードのせいではないよ
716 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 16:36:36.47 ID:q8NQ5dwmd.net] 改行が問題になるのは%cのときくらいで %dのあと%dだから空白類文字は問題ないよ
717 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 16:42:55.52 ID:LIu803lba.net] >>701 ちなみにこのコードを書いたのはオレンジコーダー https://atcoder.jp/users/ygussany?contestType=algo オレンジというのは一部上場企業でも一人もいないことが珍しくないレベルの高レベルプログラマを超える化け物レベルの超高レベルプログラマを超える頭おかしいレベルのプログラマ
718 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 16:47:51.25 ID:knNtAgEU0.net] y[200001];とd[200001]がスタック壊してしまいます涙
719 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 16:54:14.03 ID:LIu803lba.net] >>707 Linuxではメモリの許す限りスタックが使えるから
720 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 16:54:27.16 ID:ZPuEPm3M0.net] >>707 ありがとうございます それでした
721 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 17:04:51.34 ID:IEkrCGic0.net] おま環定期
722 名前:デフォルトの名無しさん mailto:sage [2022/12/04(日) 21:55:28.56 ID:7byHd/K/d.net] >>708 とはいえmallocにしたほうがいいんでない?
723 名前:デフォルトの名無しさん mailto:sage [2022/12/04(日) 22:07:50.79 ID:RAGda7mP0.net] VLAで足りることにmallocか
724 名前:デフォルトの名無しさん (US 0H31-fHn/) mailto:sage [2022/12/04(日) 22:16:11.60 ID:Yt2fANdLH.net] >>712 C++ で見捨てられた VLA なんか使いたくないですね
725 名前:デフォルトの名無しさん mailto:sage [2022/12/04(日) 22:29:52.59 ID:xXGWnQN3d.net] >>712 VLAはC99で採用されたけどC11でオプション仕様に格下げされたよ
726 名前:デフォルトの名無しさん mailto:sage [2022/12/04(日) 22:31:57.30 ID:JQ3spjvfM.net] >>708 それってどこ情報なん?
727 名前:デフォルトの名無しさん [2022/12/04(日) 23:03:10.81 ID:UdvGlPZ+0.net] Cで通信系いじりたいんやけどなにからすればええ? まずはゲームとか作ってC言語に慣れた方がええんやろか 「無線 C言語」と調べてもコロナ社の本しか出てこん 本買った方がええんか? 右も左もわからん、どなたか教えてください!!!
728 名前:デフォルトの名無しさん mailto:sage [2022/12/04(日) 23:04:19.10 ID:AOlAqVGT0.net] まず何がやりたいのかはっきりさせろ 何もわからんぞ
729 名前:デフォルトの名無しさん mailto:sage [2022/12/04(日) 23:09:42.46 ID:HgjSOVEG0.net] 通信系って、無線通信? C言語には電波を飛ばす機能はないよ
730 名前:デフォルトの名無しさん [2022/12/04(日) 23:14:41.99 ID:UdvGlPZ+0.net] ネット通信とか無線通信はC言語だとどっかで耳にしたからとりあえずやりたくなったんや なんかいい通信系の入門サイトとかあれば教えてほしい
731 名前:デフォルトの名無しさん [2022/12/04(日) 23:17:10.93 ID:UdvGlPZ+0.net] >>718 無線通信系に興味ある 電波飛ばす機械をC言語でなんかするんじゃないん?
732 名前:デフォルトの名無しさん [2022/12/04(日) 23:26:26.75 ID:MiJYA0Kr0.net] 通信をする方法が無線かどうかはハードウェアの問題。 更にOSやデバイスドライバやOSのシステムコールをどのように呼べば良いかを知る必要がある。 C言語の知識が必要になるとすると通常はここからだ。 そうではなくてハードウェアはあるがOSがなくI/Oポートを直接読み書きするようなプログラムを 作る必要がある場合はアセンブラかC言語で作ることになると思う(必ずしもそうである必要は ないが)。その場合はOSのデバイスドライバを自作するような感じになる。
733 名前:デフォルトの名無しさん mailto:sage [2022/12/04(日) 23:27:41.55 ID:HgjSOVEG0.net] 有線にしろ無線にしろ、通信という以上は相手があって その相手とルールの取り決めをしてからそのルールにしたがってやり取りする だから最初に、誰と、どういう取り決めでデータのやり取りをするかを決めないといけない インターネットもそういうルールをみんなで決めてやり取りをしている とりあえずインターネットの通信を学んでみたらどうだろう この掲示板に書き込みをしているのだから、その通信が可能だし、 その機種を使って試すところから始めると良い
734 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 00:30:23.98 ID:ddGzHpStd.net] >>712 スタックの仕様は機種依存が激しいから可搬性を考えたらスタックは無限にあると考えないほうがいい というかLinuxではデフォルト8MBみたいだけど
735 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 00:47:01.63 ID:ddGzHpStd.net] というかスタックというのは一番効率の悪いメモリの使い方なので 本を片っ端から積み上げて下の方は取れなくなってしまうイメージ 大規模な配列はスタックに置かないほうがいいというのは基本では 断片化があるとはいえmallocのほうが効率的
736 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 00:55:05.00 ID:d/jwcHzh0.net] 一番上と、一番下でアクセスの速度は同じでしょう
737 名前:デフォルトの名無しさん [2022/12/05(月) 01:09:57.27 ID:rpvKYALB0.net] スタックが上のデータに埋もれて下のデータが取り出しにくくなるなら、ヒープでも全く同じことが発生するはず。 適当なアナロジーで間違った理解をしている典型例だと思う。
738 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 01:14:21.69 ID:ZI2+JeHur.net] デカいデータで最適化が効くことがあるのはグローバル変数
739 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 01:15:32.38 ID:m5vf/Aut0.net] Cのローカル変数は、マシン語レベルではスタック領域に生成されるが 相対アドレシングで自由にアクセスするので問題ない
740 名前:デフォルトの名無しさん [2022/12/05(月) 01:21:11.87 ID:op7KwCv70.net] 領域の確保開放が上からしか出来ないだけで読み書きはどこでもできるもんな
741 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 06:17:33.64 ID:0xhTnbB50.net] >>723 え、無限にあると考えることがあるの? ・・・あれか、マイクソソフトが吹聴してる例の有害なやつか
742 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 08:28:01.18 ID:d0zhDPVSa.net] >>711 競プロだぞ
743 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 08:42:20.41 ID:AHxKL62Z0.net] 有限さん「おい、スタックが無限にあると考えられるとはどういうことだ?証明して見せろ!!」 ムゲンさん「わかりました。では無限なメモリを積んだコンピュータを用意してきてください。そしたら証明して見せます。」 有限さん「そんなことできるわけないだろ!」 ムゲンさん「ザンネン。じゃああなたのご希望に沿うことはできないですね。」 ボク「それってつまり、無限のスタックは存在しないってことなんじゃ?」 ムゲンさん「『無限なメモリを積んだコンピュータは存在しない』というのは悪魔の証明であって、存在しないと断言すること自体が不可能です。」 ボク「屏風の虎…一休さんかよ」
744 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 09:23:30.88 ID:0xhTnbB50.net] 観測可能な宇宙に原子が8e79個あり、 DDR4のセル電荷が2.4e-14クーロンとすると メモリは6.7e73バイトまでしか作れない ∴ 無限のメモリは存在しない
745 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 09:27:43.41 ID:AHxKL62Z0.net] 観測不可能な宇宙領域がまだあるではないか そこには無限の(ry
746 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 09:44:59.30 ID:BaBCvHVhM.net] 量子メモリであれば無限の状態を記憶できるか?
747 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 10:56:43.18 ID:ddGzHpStd.net] >>725 速度の問題ではなく 用済みになっても開放できずにいつまでも抱え込んでいなければならないことが問題
748 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 11:14:13.11 ID:d/jwcHzh0.net] スタック上の変数って、その関数内でしか用は無いのだから 関数が終了と同時二メモリーから消え去ります 抱え込むことはありません
749 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 11:22:51.84 ID:hYIKK9DOp.net] 児童変数の事?
750 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 11:23:28.04 ID:E9Ntil7Ed.net] 効率悪い実装してれば効率悪くなるだけの話やな スタックは一時変数の効率的確保の極みなんだけど関数化を怠った結果そうなる
751 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 11:24:48.36 ID:hYIKK9DOp.net] 児童変数を関数の戻り値にするのは実体渡しだけにしておかないと痛い目に逢ったなぁ
752 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 11:28:42.22 ID:d/jwcHzh0.net] >用済みになっても と言うことだから、関数間の受け渡しは考慮しなくて良いでしょう
753 名前:デフォルトの名無しさん (ワッチョイ e2ad-4FAg) [2022/12/05(月) 18:42:27.81 ID:M2dfOAYW0.net] 自動変数用のスタックは本物のスタックポインタ無視して別に作っちゃってもできるな。 そういうコードを吐くコンパイラも作れるというだけのことではるが。 でもその方がリターンアドレスが詰まれている所に変数混ぜるより安全な感じはする。 特にC言語の場合は配列の範囲をオーバーしても平気でどんどん書き換えちゃって関数の終わりで明後日の方向にリターンなんてものも作れちゃうから。
754 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 18:46:56.29 ID:d/jwcHzh0.net] ワープ航法w
755 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 19:26:38.80 ID:3chMJcRmp.net] 8ビット時代にゃスタックジャンプは普通にやってたなぁ
756 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 19:33:53.84 ID:XYzlQpP/M.net] スタック保護 https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/c905.html
757 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 20:04:47.35 ID:9YGPhFSH0.net] >>742 > 自動変数用のスタックは本物のスタックポインタ無視して別に作っちゃってもできるな。 当たり前だろ、その本物とやらのスタックポインタもたないマシン(例えば汎用機)もあるんだし > でもその方がリターンアドレスが詰まれている所に変数混ぜるより安全な感じはする。 暴走するか変なデータになるかの違いしかない どっちがマシかは状況による
758 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 20:08:14.24 ID:AHxKL62Z0.net] いや暴走のがマシなんて状況あるん? 変なデータは使用する時点でチェックすれば防げるけど
759 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 21:05:25.92 ID:9YGPhFSH0.net] >>747 > いや暴走のがマシなんて状況あるん? 今時のプロセッサーなら暴走したら不当命令とか>>745 のリンク先にあるデータ実行防止で止まる可能性が高い > 変なデータは使用する時点でチェックすれば防げるけど それが完全なら良いけど例えば金額が多少間違っててもチェックできないケースもあるだろ
760 名前:デフォルトの名無しさん mailto:sage [2022/12/05(月) 22:17:34.11 ID:d/jwcHzh0.net] 補助輪つき自転車みたいだ
761 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 00:15:19.77 ID:XVvWtcz/d.net] >>737 抱えたまま他の関数を呼び出したり あと再帰呼び出しとかスタックを利用する一番の利点とされてるけど? 問題なのは呼び出された関数がすでにスタックが残り少ないのを知る手段がなく そこでクラッシュしても原因がわかりにくいという開発上のトラップだな まあ大規模なソフト開発してみればわかるよ
762 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 00:17:55.95 ID:PYPomZFd0.net] それはメモリー不足が何時起きるか分からないと言ってるのと同じ事ですが
763 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 00:44:18.64 ID:8IYUkFNt0.net] スタックオーバーフローという エラーメッセージがあるのでは?
764 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 00:44:54.36 ID:8IYUkFNt0.net] スタックオーバーフローという エラーメッセージがあるのでは?
765 名前:デフォルトの名無しさん [2022/12/06(火) 00:47:21.54 ID:qZ0a8ZvK0.net] スタックオーバーフローという エラーメッセージがあるのでは?
766 名前:デフォルトの名無しさん [2022/12/06(火) 00:47:27.32 ID:qZ0a8ZvK0.net] スタックオーバーフローという エラーメッセージがあるのでは?
767 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 00:48:27.88 ID:PYPomZFd0.net] スタックオーバーフローは、大規模なソフト開発とはあまり関係ないデスね 大規模なソフト開発してて、スタックオーバーフローでプログラム落ちたら、 笑われると言うか、怒られるかも
768 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 01:09:59.63 ID:LDJX4o340.net] スタック上に大領域確保するにしても 内部で余計な関数呼ばない結果だけ返す関数作って抱え込まない 深さを限定できない再帰呼び出しもありえないし
769 名前:デフォルトの名無しさん [2022/12/06(火) 03:07:59.72 ID:PbeCdWM30.net] 699 デフォルトの名無しさん (ワッチョイ 972d-zuBb) sage 2022/12/01(木) 15:02:39.09 ID:ZPuEPm3M0 ttps://atcoder.jp/contests/abc273/submissions/35667282 このコードを実行するとscanfで入力を待つはずなのですが即座に終了してしまいます たまにそういうコードを見かけるのですが何が原因なのでしょうか printfを入れても実行されないのでmainがスキップしているような。。
770 名前:デフォルトの名無しさん [2022/12/06(火) 03:09:09.32 ID:PbeCdWM30.net] >>758 いまだにhを取るあたりがもう超絶無能
771 名前:デフォルトの名無しさん [2022/12/06(火) 03:10:27.42 ID:PbeCdWM30.net] >>758 25年くらい前のネットの書き方だな
772 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 08:24:16.80 ID:zdZ3zkNx0.net] Win98時代は1Mバイト程度の配列変数作っただけで動作がおかしくなってたな。 スタック増やせって言われてコンパイルオプション弄ったけど改善しなかった記憶・・・。 DOSからWinに来たときは64kバイト以上のメモリ確保さえ避けてた。
773 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 08:27:50.69 ID:63yxghiR0.net] そりゃー8086のセグメント方式なんだから64k超えは問題ありまくりんぐでそ
774 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 11:20:14.67 ID:yvaEv+2ca.net] >>761 > Win98時代は1Mバイト程度の配列変数作っただけで動作がおかしくなってたな。 それは今でも一緒だろ Windows の既定のスタックサイズは1MBのままだぞ https://learn.microsoft.com/ja-jp/windows/win32/procthread/thread-stack-size
775 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 11:30:06.24 ID:PYPomZFd0.net] MS-DOSの頃は、メモリ1MB積んだPCってスゴイ豪華な印象だったな 搭載メモリーを使い切る様なプログラムを、オレは書けるんかって思ってた
776 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 12:01:21.10 ID:63yxghiR0.net] I/Oバンク方式かEMSかって時代か
777 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 14:59:37.11 ID:iX2JPZR5d.net] 本当のメインメモリとして使えたのは640kBまでで 残りの384kBはバンクかEMSの増設メモリだった
778 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 19:43:39.61 ID:PYPomZFd0.net] 最初はハードウェアで実装してたけれど そのうち仮想86モードだったかで、 特別なハードを追加せずにメモリアクセス出来る様になってたね
779 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 20:33:29.46 ID:zjGx1PLy0.net] >>766 残りはハードウェアのIOやらROMやらVRAMなどだ EMSウインドウはその開いている隙間アドレスにねじ込んだだけ
780 名前:デフォルトの名無しさん mailto:sage [2022/12/06(火) 21:49:14.42 ID:63yxghiR0.net] >>767 あったねー、ソフトウエアEMS>ハードウエアEMSなんて珍現象
781 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 05:45:28.61 ID:QbuGAkRx0.net] #include <stdio.h> #include <time.h> void main(void) { time_t now, now2; now = time(NULL); now2 = time(NULL); struct tm *tm1 = localtime(&now); struct tm *tm2 = localtime(&now2); tm2->tm_mday = 1; tm2->tm_mon = 1; printf("%d %d\n", tm1->tm_mday, tm1->tm_mon); printf("%d %d\n", tm2->tm_mday, tm2->tm_mon); }
782 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 05:46:27.95 ID:QbuGAkRx0.net] tm2を変更するとtm1も同じ値になってしまいます。 回避方法を教えて下さい。
783 名前:泣gの名無しさん mailto:sage [2022/12/09(金) 05:47:05.17 ID:QbuGAkRx0.net] OS:Linux Mint コンパイラ:gcc です
784 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 06:15:54.45 ID:rdO0dbBS0.net] https://linuxjm.osdn.jp/html/LDP_man-pages/man3/ctime.3.html localtime_r()を使いましょう struct tm *tm1 = localtime(&now); こんな使い方をするって時点でlocaltime()が「何」を返すのか、察しましょう
785 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 06:58:19.07 ID:QbuGAkRx0.net] >>773 サンクス、動いた
786 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 07:14:28.04 ID:aKtIUC7D0.net] このへん、言っちゃなんだけどクソだね なんでこんな変な設計にしたんだろう
787 名前:デフォルトの名無しさん [2022/12/09(金) 07:27:22.65 ID:G83XZmEL0.net] ローカルで構造体を定義してそこへのポインタを返すとスタックから消えてデータが壊れますか?
788 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 07:54:25.65 ID:DDM/thjI0.net] >>775 いちいち使う人に領域確保させる手間をかけさせたくなかったってことでしょ マルチスレッドなんてない時代だし
789 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 07:57:34.07 ID:DDM/thjI0.net] >>776 構造体に限らずローカル変数へのポインタを返すとポインタの指す先の内容は壊れる(かもしれない)
790 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 13:31:15.00 ID:RVIOSi06d.net] 未定義の動作という
791 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 15:26:27.10 ID:Z1cscK2ka.net] >>775 strtok
792 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 15:41:02.97 ID:8zaQFmsV0.net] 何らかの要因でテンパって煮詰まってコーディングしてて 変なものができてしまうこと、皆さんも経験あるのでは
793 名前:はちみつ餃子 mailto:sage [2022/12/09(金) 17:25:23.52 ID:Qnrm7z6h0.net] >>776 スタックから消えるというか、言語仕様的な用語でいうと生存期間が終了していることになる。 そんでオブジェクトを生存期間の外部で参照したときの動作は未定義なので何が起こるかわからん。 C でいう未定義ってのは「何が起きてもいい」なのでデータが壊れる (意味不明の値が読みだされる) だけでは済まないかもしれない。
794 名前:デフォルトの名無しさん mailto:sage [2022/12/09(金) 17:34:59.55 ID:i/ZE6Izl0.net] 恋と同じで、はかなく消える運命
795 名前:デフォルトの名無しさん [2022/12/10(土) 01:00:03.41 ID:ap6EnRqC0.net] >>776 すぐ消えないことがあるので読めてしまうかも知れない。しかし何かをすると一瞬にして破壊されて終わるかも知れない。 あてにしてはいけない。 ていうかこの頃のコンパイラってそういうのは警告出したりエラー扱いにしない?
796 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 08:35:32.63 ID:0yWWcyiC0.net] コンパイル時に常に摘出できるわけじゃないし
797 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 08:43:06.25 ID:VZKCrGXt0.net] いやバグは睾丸みたいに摘出はできないだろ
798 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 11:08:12.32 ID:8LaJbp4o0.net] warning C4172: ローカル変数またはテンポラリのアドレスを返します: hoge VS2022
799 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 11:18:10.60 ID:W5v0KihFa.net] >>787 https://learn.microsoft.com/ja-jp/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4172?view=msvc-170
800 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 11:34:37.41 ID:FHzDIuwr0.net] そういうときはレジスタ変数のアドレスを返すようにコーディングしなさい
801 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 11:49:59.77 ID:n733SMJ50.net] staticの出番は?
802 名前:デフォルトの名無しさん [2022/12/10(土) 12:13:19.32 ID:9jPqI4Xva.net] そして>>773 の仕様となるのであった…
803 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 12:55:16.29 ID:8LaJbp4o0.net] int *fuga(void){ register int i = 123; return &i; } error C2103: '&' レジスタ変数のアドレスを得ようとしました。 ふむ
804 名前:デフォルトの名無しさん [2022/12/10(土) 13:24:22.34 ID:HjLF/vvU0.net] >>788 説明とコードが対応してる気がしない どういうこと?
805 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 13:32:02.53 ID:GuAR5Ny/0.net] >>348 レジスタに割り当てた変数には左辺値はないよ だって、ハードウェアのレジスタだから
806 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 13:43:23.28 ID:VZKCrGXt0.net] 言いたいことはわかるけど日本語が変 左辺値はメモリアクセスを意味する式なので レジスタに左辺値がないのではなく 記憶クラスがregisterの変数の識別子は左辺値ではない
807 名前:デフォルトの名無しさん [2022/12/10(土) 13:46:04.91 ID:HjLF/vvU0.net] >>789 への疑問やろ
808 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 14:05:33.41 ID:lr6mtoK80.net] >>793 floatからdoubleへ変換したうえでその参照を返してる パッと見分かり辛くて人間の認知への挑戦かと思うなw
809 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff3e-3TNT) mailto:sage [2022/12/10(土) 15:12:06.94 ID:brInbnm70.net] >>792 register 指定が付いたらアドレスを取る操作自体が出来なくなるように制限されてるよ。 配列を register 付きで宣言したらなにも出来なさ過ぎてワロタwwwというのはよくあるネタ。 (言語仕様的には配列 (の要素) へのアクセスもポインタ演算の構文等になってるから暗黙にアドレスを取る操作。) >>794-795 左辺値であるかどうかと記憶クラスは関係ない。 必ずしもメモリにアクセスすることを意味しない。 register 宣言でアドレスを取れなくなるのは左辺値でなくなるからではなく & のオペランドは register 付きで宣言されたものであってはならないという直接的な制約。 どこをどう見ても左辺値の定義自体には register 指定は関係しない。 更に C99 の 6.5.3.2 から単項 & の制約について抜粋 > The operand of the unary & operator shall be either a function designator, the result of a > [] or unary * operator, or an lvalue that designates an object that is not a bit-field and is > not declared with the register storage-class specifier. JIS の日本語だとこうなってる。 > 単項&演算子のオペランドは,関数指示子,[]演算子若しくは単項*演算子の結果,又は左辺値でな > ければならない。左辺値の場合,ビットフィールドでもなく,register記憶域クラス指定子付きで宣言 > されてもいないオブジェクトを指し示さなければならない。 左辺値のときは register 指定されていてはいけないというのは逆に言えば register 指定されている左辺値というものも存在することを示唆する。
810 名前:デフォルトの名無しさん (ワッチョイ 27c2-aipL) mailto:sage [2022/12/10(土) 15:19:28.45 ID:VZKCrGXt0.net] > register 指定されている左辺値というものも存在することを示唆する。 具体例ある?
811 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff3e-3TNT) mailto:sage [2022/12/10(土) 15:24:22.50 ID:brInbnm70.net] >>799 具体例というか、 register 指定は左辺値か右辺値かの定義に無関係なので 左辺値なものは register 指定されていようがいまいが左辺値って話。 変数の宣言のときに register 指定を付けたら全て register 指定のついた左辺値だよ。
812 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 15:44:01.19 ID:VZKCrGXt0.net] メモリにアクセスすることを意味するでしょ。 6.3.2.1 左辺値 左辺値が評価されたときにオブジェクトを指し示していなければ,動作は未定義とする。 3.14 オブジェクト(object) その内容によって,値を表現することができる実行環境中の記憶域の部分。 参考オブジェクトを参照する場合,オブジェクトは,特定の型をもっていると解釈してもよい(6.3.2.1 参照)。 なんでそういう決まりになっているのかを理解せずに条文の字面に書いてあることだけ表面的に言う人とは歯車が噛み合わないな。
813 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 15:50:02.57 ID:gyOVa4Se0.net] >>792 みたいなのはレジスタ変数じゃなくてもやっちゃダメだけどw
814 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 15:51:48.45 ID:zHuXawkZa.net] 昔の CPU はレジスタが少なくて なんでもかんでも register 付けて宣言すると CPU の持ってる実 register 数以上に宣言してしまうことが多い では使い切った後の変数はどこに割り当てられる
815 名前:フか? [] [ここ壊れてます]
816 名前:はちみつ餃子 mailto:sage [2022/12/10(土) 16:30:03.16 ID:brInbnm70.net] >>801 話を >>794 といっしょくたにしたのが誤りだった。 すまぬ。 > ハードウェアのレジスタだから の続きで > メモリアクセスを意味する式なので をハードウェア的なメモリアクセスの意味で解釈してしまった。 むしろそんなん関係なく言語仕様上の意味で反論してたんだね。 (後から読む人のために補足すると C の言語仕様でいう実行環境は言語仕様で規定する仮想的な実行環境の ことであって実際の機械語とどう対応づけるか規定されない。 どういう機械語が生成されるかは 言語の意味の根拠にならないので言語仕様で再解釈しようとしたのが >>795 だと私は解釈した。) が、言語仕様の解釈として > registerの変数の識別子は左辺値ではない の部分が誤っているということには変わりないよ。
817 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 21:03:51.14 ID:iVr3EzOTM.net] レジスターにもアドレスを割り当てておいたら良かったかも
818 名前:デフォルトの名無しさん mailto:sage [2022/12/10(土) 22:47:45.19 ID:37vQL6PeM.net] 昔6800系CPUはメモリの固定番地をレジスターと同格に扱うダイレクトメモリアドレッシングで見かけのレジスタ数を増やしていた
819 名前:デフォルトの名無しさん (ワッチョイ 7f63-KKgq) mailto:sage [2022/12/10(土) 22:55:13.62 ID:FHzDIuwr0.net] レジスタを指すポインタをインクリメントすると、別のレジスタの値を書き換えられる、とか
820 名前:デフォルトの名無しさん (ラクッペペ MM8f-JsS5) mailto:sage [2022/12/10(土) 22:59:08.86 ID:cw57tQlnM.net] 組込み用の8ビットCPUでも同じような機能があるものもある ダイレクトアドレッシング、ダイレクトページアドレッシングなど殆どは8ビットアドレスのゼロページ目をレジスタと見做して メモリ経由することなく直接ALUで演算を行なうことが出来る
821 名前:デフォルトの名無しさん (ワッチョイ 7f63-KKgq) mailto:sage [2022/12/10(土) 23:32:50.32 ID:FHzDIuwr0.net] レジスター配列とかプログラムコードをレジスタに置くとか
822 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 03:20:22.27 ID:BIXjZcK80.net] >>804 左辺値がメモリアクセスを意味するのに?
823 名前:はちみつ餃子 mailto:sage [2022/12/11(日) 03:56:09.23 ID:ftKoc+Hh0.net] >>810 言語仕様では抽象計算機での動作として記述される。 (C99 なら 5.1.2.3?を参照) 記憶域として書かれているものは抽象的な意味の上での記憶域であって、 実際のメモリにアクセスするかどうかはコンパイラの裁量。 register 指定は変数の意味に関与せず、抽象機械の動作の上ではごく普通に記憶域に割り当てられているのと同じ。 その上で register 指定は「可能な限り速いアクセスを期待する」というヒントであることと、アドレスが取れなくなるという制約が付く。 register 指定は抽象機械の上での記憶域をハードウェアのレジスタに割り当てるなどして高速化してくれたらうれしいなぁ (/ω・\)チラッ という指定であって、言語の理屈の上ではアドレスを取れない以外の何の意味も持たない。
824 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 06:45:02.24 ID:BIXjZcK80.net] 抽象計算機の記憶域がメモリではないって? もういい、あんたとは話にならん
825 名前:はちみつ餃子 mailto:sage [2022/12/11(日) 06:47:07.10 ID:ftKoc+Hh0.net] >>812 根本的には register 指定で左辺値でなくなったりはしないという話をしてるんで。
826 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 07:35:55.41 ID:BIXjZcK80.net] その話の根拠に疑問を示したんだけど、例の屁理屈に逃げるんでもういい
827 名前:はちみつ餃子 mailto:sage [2022/12/11(日) 08:06:06.44 ID:ftKoc+Hh0.net] >>814 言語仕様でそうなっているという以外に根拠が必要か?
828 名前:はちみつ餃子 mailto:sage [2022/12/11(日) 08:12:25.56 ID:ftKoc+Hh0.net] clang で抽象構文木を見る機能があったわ。 lvalue ってなってるだろ。 https://wandbox.org/permlink/j4csi19c5wVPE8ff
829 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 08:25:20.92 ID:BIXjZcK80.net] >>815 しつこい
830 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 09:45:19.90 ID:B9k8N7vL0.net] >>805 そういうプロセッサーはあるよ(ディスコンしてるけど) https://i.imgur.com/Lqs3ejR.jpg Z80 の裏レジスタは裏側のレジスタを直接触れなくてモヤモヤしたけどこいつは他のバンクのレジスタも直接さわれるからちょっと便利 PCとかもメモリー空間に見えてるプロセッサーもあったような気がするけど具体的なプロセッサー名を思い出せない >>806 それはちょっと話が違う 単にアドレッシングモードとしてゼロページやダイレクトページが短いコードで扱えると言うだけのことでメモリーはあくまでもメモリー 例えば6800はPSH AでAレジスタをスタックにプッシュ出来るけどゼロページの内容を直接
831 名前:プッシュ出来るわけじゃない 6502 のインダイレクト・インデックストYぐらいの機能ならまあベースレジスタをメモリー上に置けるとは言えるけど [] [ここ壊れてます]
832 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 09:47:13.53 ID:B9k8N7vL0.net] >>817 しつこいのは君かと そもそも左辺値なんて言語仕様で定義されてるんだから仕様書で反論できない時点でお前の負け
833 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 10:26:09.32 ID:2yXQoOg9d.net] IDコロコロ
834 名前:はちみつ餃子 mailto:sage [2022/12/11(日) 10:45:16.87 ID:ftKoc+Hh0.net] >>819 べつに勝ち負けを競っているわけじゃない。 根拠 (この場合は言語仕様) に基づく解釈の妥当性がそれで変わることはないので納得しない誰かがいても不都合もない。 5ch に書き込むのはただの暇つぶしだ。 どうせほかに話題もないんだからしつこくてもいいんじゃね。 反応するかどうかは知らんけど。
835 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 11:25:34.59 ID:RuZtb54i0.net] >>821 そういうレスは流石にしつこいわ
836 名前:デフォルトの名無しさん (ワッチョイ 87bb-3TNT) mailto:sage [2022/12/11(日) 15:02:48.86 ID:51+9+dkC0.net] ブレークブレークw
837 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 15:25:03.37 ID:jc+ZhrAU0.net] みんな仲良くしなよ
838 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 17:37:29.66 ID:kiLLcra70.net] ポインタは卒業した。コンパイラあるんだから、ググるより書いて結果を見たほうが早いぞ。 何十回も繰り返せばわかるはず。
839 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 17:42:03.60 ID:kiLLcra70.net] 亀レスだが機械語を知らないと、いい高級言語は書けない、ってのはわからん。 機械語と高級言語は別物だろう。 機械語を簡単に理解できる知能水準の人は、高級言語を新しく学習したときも たやすく理解できる、 というのが実態なのに、ネットでは背びれ尾ひれついて、「ハードウェアを知らないと、〜」みたいな 論調が市民権を得ているな。
840 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 18:08:31.63 ID:3kpvLkL20.net] CやC++はアセンブラレベルが理解出来ないとそもそも実装が無茶苦茶だったりするけど ポインタとかが無いJavaとかはそこまでアセンブラレベルでどうのこうのってのは無いが それでもコンピュータ的な知識が皆無な奴は論理演算を理解出来なかったりするし ビットシフトみたいなことやってると、何でこんな書き方しているの?みたいな事言う奴出てくるからなぁw
841 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 18:39:34.39 ID:jc+ZhrAU0.net] それがメモリー上二銅格納されてるか位は知っておいた方が良いよ 配列データをソートする時、どうやると効率的かがすぐ分かる
842 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 18:40:10.49 ID:jc+ZhrAU0.net] メモリー上にどう格納
843 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 18:50:45.41 ID:DhbhWaSTM.net] 2の補数表現の知識は機械語の範疇だろう スタックもそうだ Cの仕様にスタックなんて言葉は出てこないからな register指定も完全に機械語だ タイマとか割り込みを扱う場合は機械語の知識も必要だな setjmp longjmpも何が保存されてるのか理解するには機械語の知識が必要だ 要するに機械語の知識は必要だ
844 名前:はちみつ餃子 mailto:sage [2022/12/11(日) 19:18:24.83 ID:ftKoc+Hh0.net] >>825 ポインタ演算は未定義動作を簡単に引き起こせてしまうので 十分に理解できてない状態で実際に動作させてみるというのはあまりあてにならない。 ある程度は理解した上で実際にやってみたら納得しやすいってことならわかるけど。
845 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 19:19:01.91 ID:HcYuyEaDa.net] 何十年前の話題を蒸し返してるのか知らんけど今のコンパイラは賢いからregisterとか使う必要ないぞ むしろ人間が余計な指示を出すことで効率が悪くなる可能性すらあるからハードウェアの知識が云々とかいう老害理論はパイプラインとかキャッシュとかを全て把握してから言ってくれ 君たちの時代は終わったんだよ
846 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 19:29:49.83 ID:vn3Pz69o0.net] register なんてあてにならんもん、使ってる奴いなかったと思うよ 本当に速くしたい所は、それこそインラインアセンブラ使ったり アセンブルしたルーチン呼んでたし
847 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 19:33:50.07 ID:HcYuyEaDa.net] >>833 コンパイラが本当に愚直な時は最適化無しで使ってたぞ
848 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 19:38:52.22 ID:vn3Pz69o0.net] それは失礼した
849 名前:はちみつ餃子 mailto:sage [2022/12/11(日) 19:39:00.70 ID:ftKoc+Hh0.net] 少なくとも gcc とか clang くらいのモダンな処理系ではコンパイラの判断のほうが賢いわな。 低レイヤのコードだと人手で指定を付けたいときもあるかもしれんが そういう分野ではどうせ処理系の拡張がなきゃどうにもならんので register キーワード程度のあやふやなものひとつを言語仕様に入れてもあまり役に立たない。 C++ では register は削除された (機能は削除されたがキーワードとしては予約語のまま) わけだし、 C でもその内に削除されるんじゃないかな。
850 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 20:04:06.71 ID:8Gp9TgZBa.net] register なんて要らんとか昔からずーっと言われてるけど つけたらつけたで速くなったのその目で見たやつも居るでしょ? gcc と gprof だけで頑張ってたとき確かに速くなったけど だから register は有効有用使うべきとは言わないけどね
851 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 21:31:25.77 ID:OhnENqmv0.net] >>830 >setjmp longjmpも何が保存されてるのか理解するには機械語の知識が必要だ 基本スタックポインタとプログラムカウンタだけだと思っていましたが、まあレジスタ全部と他何を保存してましたっけ?
852 名前:ハノン mailto:sage [2022/12/11(日) 22:26:47.72 ID:OhnENqmv0.net] >>836 >C++ では register は削除された (機能は削除されたがキーワードとしては予約語のまま) auto のように別の形で復活しそうですね あと、asm はどうなりましたか?
853 名前:デフォルトの名無しさん mailto:sage [2022/12/11(日) 22:34:58.44 ID:IkAIpxjPM.net] >>838 基本レジスタ全部だな(OSが使うレジスタは含まず) 他は無いはずだけど ただ、戻り値にレジスタを使ってる場合は、そのレジスタは書き換えられてるだろう
854 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 06:30:06.98 ID:ychPXO7Q0.net] メジャーどころのCPUは大抵、戻り値はレジスタだね
855 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 07:28:31.07 ID:v0et11DOM.net] 呼出規約 https://ja.wikipedia.org/wiki/%E5%91%BC%E5%87%BA%E8%A6%8F%E7%B4%84
856 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 14:27:00.05 ID:Y3syqvcfd.net] static記憶クラス指定子の理解はできますが、いざプログラムを組んでみると、使い方がわかりません。
857 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 14:36:59.78 ID:jnrvptAKa.net] >>841 CPU関係あるか?
858 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 14:37:08.19 ID:RmZ1ojDx0.net] わかるものを使えばいいよ
859 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 15:05:24.79 ID:BWUj5Mhq0.net] 意訳 メジャーどころのCPU(に対応したCコンパイラ)は大抵、戻り値はレジスタだね ではないかと VCだとコンパイルオプションで変化した記憶がある
860 名前:はちみつ餃子 mailto:sage [2022/12/12(月) 16:42:43.35 ID:J7ftRWn10.net] >>844 呼び出し規約 (を含む ABI) の策定はアーキテクチャを設計したところが主導するもんじゃないのかな。 CPU の特性に反した使い方を基本にされても困るだろうし。 ざっと調べた感じだとよく使われている System V ABI はインテルが議長の委員会で決める体制っぽい。 マイクロソフト (Windows) は引数の渡し方がちょっと違う規約でやってて 文句も出てない (出てないよね?) からそんなに強い強制力があるわけでもないんだろうけど、 CPU ごとに常識的な使い方というものはあるだろう。
861 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 16:59:57.60 ID:RmZ1ojDx0.net] B言語でも戻り値はレジスタだったし
862 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 19:01:13.79 ID:xR631HBma.net] >>847 マイクロソフトが作ってるハードはSurfaceとかだろ?
863 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 19:19:51.33 ID:m7KoqGgA0.net] DOS時代にグラフィックライブラリとかをMASMでアセンブルして出来たobjファイルを Cコンパイラで作ったobjとをリンクさせて Cからアセンブラのルーチン呼び出したりしてたけど、 COBOLやFORTRANで作った関数をリンクさせて Cで呼び出したりも出来るの?
864 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 19:31:09.72 ID:BWUj5Mhq0.net] FORTRANなら呼べると思うが、COBOLは分からない FORTRANやCOBOLからならCの関数は呼べたと思う
865 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 19:34:09.58 ID:2yJi4NkT0.net] objファイルは流石に無理があるけどDLLや静的ライブラリでも作れば良いだけでは? gfortranならexe以外にもDLL等が作成出来る
866 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 19:37:26.25 ID:BWUj5Mhq0.net] 受け渡しのデータ型も割と近くないかな?
867 名前:デフォルトの名無しさん (ワッチョイ a701-3npV) mailto:sage [2022/12/12(月) 19:39:34.73 ID:qCai2YYC0.net] 引数の積みかたやらスタックフレームの巻き戻しはどっちがやるか等の約束事が シンプルに固定されてるDLLなら他所言語への持ち出しや持ち入れがやりやすいわね
868 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 20:17:18.59 ID:munrOkPw0.net] >>828 まあ・・C言語を触るぐらいだから、一般的には大学とかのコンピュータサイエンス教科を 履修しているのが前提だろうから、そこはあえて省略したのですが・・ 昔の高校生は頭がよかったけど。 今は「仕事でC言語を触らせてくれる身分」になるためには基本、情報系の大卒でしょうし・・
869 名前:デフォルトの名無しさん mailto:sage [2022/12/12(月) 20:18:59.06 ID:munrOkPw0.net] >>828 配列のソートってメモリ意識しますかね。フラグメンテーションとか考えたこともないな・・。 単純に演算オーダー(log O^n とか・・)そんな感じである程度予測を立てて、あとは扱うデータ次第かと。
870 名前:はちみつ餃子 mailto:sage [2022/12/12(月) 21:58:34.14 ID:J7ftRWn10.net] アルゴリズムのレベルではある程度の効率は事前に考えるけど 断片化とかキャッシュヒットとかはチューニングが必要な状況になるまで考えないな。 むしろ考慮したくなっても意識的に忘れるようにする。 いわゆる「早すぎる最適化」の一種だから。 当然ながら必要になったときには知っている必要はあるんだけどそんな機会は多くないよね。 普通の (アルゴリズムのレベルでは充分に配慮された) プログラムを書いて極端に効率が悪いようなら メモリアロケータやキャッシュの設計のほうが悪い。 (そうは言っても目の前にあるものがそうなってるなら自分のほうが合わさないとしょうがないんだろうけどさ……)
871 名前:ハノン mailto:sage [2022/12/12(月) 22:18:23.35 ID:1Of7Vyge0.net] >>847 win32api はなぜ PASCAL にしたんでしょうかね?
872 名前:ハノン mailto:sage [2022/12/12(月) 22:21:28.35 ID:1Of7Vyge0.net] >>847 AMD64 は AMD が呼び出し規約まで決めちゃったけれども、普通は OS 屋が決めるものという気がしますけどね
873 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff3e-3TNT) mailto:sage [2022/12/12(月) 23:05:07.66 ID:J7ftRWn10.net] >>839 register というキーワードが将来に転用 (repurposing) 出来るようにというのは書かれている。 https://timsong-cpp.github.io/cppwp/n4659/diff.cpp14.dcl.dcl auto という名前が新しい用途にぴったり (少なくとも不自然ではない) なので それと同じくらいに register という名前が丁度良い場面というのは全く想像がつかないんだけど 思いもよらぬ形で上手いこと使われることはあるかもしれんね。 メンバ関数の宣言のときの default とか delete とかも考えたやつは天才じゃん……と私は思ったよ。
874 名前:デフォルトの名無しさん (ワッチョイ 7f63-KKgq) mailto:sage [2022/12/12(月) 23:08:20.90 ID:BWUj5Mhq0.net] switch文のdefaultはたまに綴りを間違えてしまうw
875 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff3e-3TNT) mailto:sage [2022/12/12(月) 23:14:51.65 ID:J7ftRWn10.net] >>861 あれの問題点は綴りを間違えてもラベルという扱いになってしまってエラーとして検出されないところなんよね。 処理系やオプションによっては使われていないラベルとして警告が出たりはするんだけど。
876 名前:デフォルトの名無しさん (スフッ Sdff-d44j) mailto:sage [2022/12/12(月) 23:35:39.10 ID:zHXfNaq5d.net] 転用とかややこしいだけだから勘弁 自動でautoだからあんまり気にすんなよ、ちなc++ではこんな意味だよと、またややこしい補足が増えるだけ むしろアンスコ付きの変な名前の方がかえってキーワードなんだなと分かりやすい、ソースは醜くなるけど、それは今更
877 名前:デフォルトの名無しさん (ワッチョイ 7fcf-FUlb) mailto:sage [2022/12/13(火) 00:08:19.11 ID:HbzfEbfW0.net] auto も B言語の名残りだか後方互換だかで、 Bではデータ型がなくて、変数=整数が文脈により、ポインタとしても使われた その storage classesとして、automatic, external, internal の3種類があった main() { extrn putchar, n, v; auto i, c, col, a; (略) putchar('*n*n'); } v[2000]; n 2000; という風に auto で変数を宣言していた
878 名前:デフォルトの名無しさん (スフッ Sdff-d44j) mailto:sage [2022/12/13(火) 00:29:54.37 ID:+JwZZYrvd.net] 他に触る言語で明示的にauto宣言するのはbcかな、オモチャみたいなもんでPOSIXも有名無実で仕様なんぞ無いに等しいが ポインタは明示的に触らないけど、エミュる時は配列の添字にauto変数(整数)突っ込むからむしろCよりBっぽい
879 名前:デフォルトの名無しさん (ワッチョイ 7f63-KKgq) mailto:sage [2022/12/13(火) 00:36:12.95 ID:FXPyPtyo0.net] 可変長で必要に応じて伸び縮みする配列とか、 桁数制限無しの整数型や計算誤差のない実数型とか 誰か作って(人任せ)
880 名前:デフォルトの名無しさん mailto:sage [2022/12/13(火) 06:01:01.43 ID:d0KqwuA/0.net] > 桁数制限無しの整数型 つGMP
881 名前:デフォルトの名無しさん mailto:sage [2022/12/13(火) 07:11:07.69 ID:ZjPntofYa.net] >>858 当時流行ってたからだろ
882 名前:デフォルトの名無しさん mailto:sage [2022/12/13(火) 07:11:26.57 ID:4+XH+KhI0.net] >>866 >桁数制限無しの整数型 https://mevius.5ch.net/test/read.cgi/tech/1434079972/84
883 名前:デフォルトの名無しさん mailto:sage [2022/12/13(火) 13:48:16.74 ID:aee1RRAhM.net] 計算誤差の無い実数型って不可能だけどなw decimalを使うと2進数は10進数の浮動小数点数を正確に表現出来ない問題を解消できる ratio(分数)を使うと、1/3とかをそのまま保持出来るから誤差が出ない ちなみに、Common Lispは分数を凄い簡単に扱えるしbignumも使える Cでもそうなって欲しいもんだ
884 名前:デフォルトの名無しさん mailto:sage [2022/12/13(火) 13:59:48.87 ID:7PNjtjtua.net] なぜ分数や多倍長整数が必要な案件にCなんかを使うのか
885 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 12:00:46.68 ID:erx97Ujd0.net] 虚数や複素数も扱えてたよね あまり使い道はないかも知れないが
886 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 13:40:07.30 ID:XaqmHtNn0.net] 区間を分割して評価、終了判定がintegerpで判定とか細かい所で色々楽はできるだろう 単にスケールしても済むし、何回もやるなら任意精度でない有理型くらい構造体とgcdさえ書ければ誰でも書けるだろ 用途が違うし別にclは推さんが、標準の一つであるcltl2はあらゆるプログラマに貴重な書 浮動小数点演算に関しても複素関数の豊富なプロット載せて定義やブランチカット選びの良し悪しにかなりページ割いて、その図の生成に使ったpsコード生成コードも載ってる つーか>>866 はbcって言って欲しいだけでしょ、おまえら釣られすぎ
887 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 14:04:41.21 ID:XaqmHtNn0.net] <cmath.h>徹底解剖みたいな文献って無いんだろうか
888 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 14:17:47.17 ID:XaqmHtNn0.net] complex.hだった 最近触り始めたpythonでcmathだから素で間違えた んでc++はmath.hが<cmath>と…
889 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff3e-3TNT) mailto:sage [2022/12/14(水) 16:18:53.52 ID:YAu9ihh40.net] math.h と cmath とは事情がややこしいので単に名前が変わっただけとは思わないほうがいい。 math.h の関数は多相化されてなくてマクロで多相化された版は tgmath.h にある。 cmath の多相化にはテンプレートが使われている。
890 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 19:29:35.78 ID:XaqmHtNn0.net] Cのtgmathの方が(実装的な意味で)エグいよね よくマクロの真髄みたいに色んな実装が紹介されるし、ちゃんと動いてるんだろうけど ちょっと訳がわからないものは避けたい… _Genericでスッキリ書けたりしないのだろうか
891 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 20:13:04.33 ID:h6lYzG45d.net] ヘッダに直書きされてるから目につく機会が多いだけで、内部的にやっても同じロジックが隠れるだけか 気にし出せばきりがないようにも思う
892 名前:デフォルトの名無しさん mailto:sage [2022/12/14(水) 20:45:14.60 ID:QXbvEgmH0.net] >>874 <ccmath>?
893 名前:はちみつ餃子 mailto:sage [2022/12/15(木) 14:40:26.12 ID:xFKc8Du50.net] >>877 _Generic で素直に分岐すれば問題なくかけるよ。 tgmath.h が規格に入ったとき (C99) は規格の範囲内でやる方法は無かったので 処理系の拡張を使ったり新たな拡張を作ったりしてなんとかなったのだがやっぱりそれは あかんやろと思ったのか C11 で _Generic を入れることになった。 ただ、処理系は C99 に厳密なモードを持つことがあるからそのモードで動かしたときに ヘッダ内の _Generic についていちいち警告なりエラーなりが出るのもよろしくないし、 #ifdef で分けるのも二度手間だし、 旧来通りの実装で残すのはそれなりに合理的なんだと思う。 ありがたいことに普通に使う分には標準ヘッダの実体を気にする必要はないのだから忘れておくのが幸せだろう。
894 名前:デフォルトの名無しさん [2022/12/21(水) 10:08:23.47 ID:537DsEmx0.net] // エラーを報告するための関数 // printfと同じ引数を取る void error(char *fmt, ...) { va_list ap; va_start(ap, fmt); vfprintf(stderr, fmt, ap); fprintf(stderr, "\n"); exit(1); } これってprintfをerrorに変えただけって認識でok
895 名前:デフォルトの名無しさん [2022/12/21(水) 10:08:47.18 ID:537DsEmx0.net] すまん誤爆した
896 名前:デフォルトの名無しさん [2022/12/21(水) 10:11:35.91 ID:537DsEmx0.net] これってprintfをerrorに変えただけって認識でok? error("引数の個数が正しくありません");と fprintf(stderr, "引数の個数が正しくありません\n"); の違いを誰か教えてくれ
897 名前:はちみつ餃子 mailto:sage [2022/12/21(水) 10:21:03.43 ID:6CmfCawf0.net] >>881-883 その認識でいいけどそれに加えて最後に exit で終わっているから 復旧不可能なエラーを報告するための関数なんだろ。
898 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 10:21:33.71 ID:LOXcnIHB0.net] 呼び出したら、死ぬ?
899 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 10:31:04.10 ID:Fs8T+fBed.net] そのerrorならexit以外そうじゃね perror(msg)はもう少し賢くて fprintf(stderror, "%s: %s\n", msg, strerror(errno)) 相当(by k&r2e)
900 名前:デフォルトの名無しさん [2022/12/21(水) 10:34:02.36 ID:537DsEmx0.net] >>884 こんな時間にありがとう、助かる。 fprintf(stderr, "引数の個数が正しくありません\n");と同じってことやな これにexitを加えて関数にしたのがerrorってことやね わざわざerror関数にする必要性がわからんかったから助かったわ
901 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 10:37:12.34 ID:LOXcnIHB0.net] 私なら、error()を呼び出した側でexit()呼ぶなあ
902 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 10:39:53.43 ID:Fs8T+fBed.net] ステータス選べるしな わざわざexitに渡すステータス引数を拵えるくらいならexit読んだ方が早い
903 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 10:51:42.39 ID:Fs8T+fBed.net] >>881 あ、地味にfprintf(stderr, "\n")でフラッシュしてるのに気付いた あるいはfmtへの\n付け忘れ防止配慮か 基本stderrはこまめにフラッシュされるものと思ってるけど、fflushや"\n"で念を入れても損は無いな
904 名前:はちみつ餃子 mailto:sage [2022/12/21(水) 11:33:17.33 ID:6CmfCawf0.net] 言語仕様では exit で終了とか main の終端に到達した場合に全てのオープンされているファイルはクローズする (そのときに全ての出力ストリームをフラッシュする) というのは保証してる。 エラーが起きている状況でどこまで信用できるかよくわからんから念押ししても損はないだろうけど。
905 名前:デフォルトの名無しさん [2022/12/21(水) 15:19:19.23 ID:537DsEmx0.net] codepad.org/noY0x7K2 これの70行目と79行目の*ってただただ関数でポインタを扱うよってだけ? なんか関数ポインタと似ててどうなんやって思った int (*func1)(char*, int);
906 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 15:23:54.32 ID:WXW0EqS+d.net] なんか質問者はexit呼ばないんだったら関数化しないでええやろって思ってそうで怖いな 設計方針次第でもあるが心配になるな
907 名前:デフォルトの名無しさん [2022/12/21(水) 15:35:25.72 ID:537DsEmx0.net] >>893 今学習段階だからかなりの無知なんや、すまん
908 名前:デフォルトの名無しさん [2022/12/21(水) 15:51:20.06 ID:537DsEmx0.net] あと上のURLのプログラムのcallocではメモリ解放してないけど大丈夫なのか?
909 名前:はちみつ餃子 mailto:sage [2022/12/21(水) 15:56:02.50 ID:6CmfCawf0.net] >>892 返却値の型が Token* であるという意味。 でも文法的には * は宣言子に含まれていて Token の側じゃなく関数名がある側のグループなんよ。 だから右側に寄せて書く習慣になってる。 C の宣言の文法が無茶苦茶なのはイマサラな話なので……。 可変長引数の扱いも低レイヤの事情が見え隠れするような古の設計なので 歴史的事情を知らんとわけわからんのもしょうがないとは思う。
910 名前:デフォルトの名無しさん (ワッチョイ 7e02-evpg) mailto:sage [2022/12/21(水) 16:08:16.37 ID:5pWmYDMC0.net] 一貫性が大事って意味ならそう思う、特にdiagnosticなエラー(最後まで残る)は 俺は手入力で適当なエラーメッセージ書くのは極力控えてる、例えば数学関数書いてるなら errno = EDOM; perror(__func__); →my_func: Argument to the math function out of domain. 的な 手続き的なルーチン(main)なら__FILE__/__LINE__とかで 用意されてるシンボル定数で意味論が合うなら活用すべき EDOMなんかは好きに使っていいけど、システム、IO関連のエラーは意味が直感的でなかったり、規約に厳密に従わないとerrno見るcallerが騙されたりでバグの素なので、ちゃんとマニュアル参照のこと
911 名前:デフォルトの名無しさん (ワッチョイ 2a04-e5AJ) [2022/12/21(水) 16:09:52.42 ID:537DsEmx0.net] >>896 こりゃかなわん。 基礎から出直してくる
912 名前:デフォルトの名無しさん (ワッチョイ 7e02-evpg) mailto:sage [2022/12/21(水) 16:10:45.37 ID:5pWmYDMC0.net] ああ、当たり前だけどerrnoを上書きする前に気付いてないフラグ立ってないかif(!errno)チェックは忘れずに 割と立ってる事がある()
913 名前:デフォルトの名無しさん (スップ Sd8a-UQjj) mailto:sage [2022/12/21(水) 16:16:43.94 ID:WXW0EqS+d.net] >>895 勿論使い終わったら解放する必要があるので解放関数を用意してあげよう
914 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 17:55:00.19 ID:j8NGwdcp0.net] >>895 exit() したら解放されるからいいんじゃん って言う層が一定数いる
915 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 18:13:15.89 ID:3kYobt3Gd.net] 今、息してるのか?
916 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 18:21:41.76 ID:LOXcnIHB0.net] 一日一回再起動すれば大丈夫
917 名前:デフォルトの名無しさん mailto:sage [2022/12/21(水) 21:42:34.64 ID:MxQdxJ6G0.net] 再起動なんてちまちましたことやってられるかい 電源ぶっこ抜いて入れ直すんだよ、それか蹴れば直る
918 名前:デフォルトの名無しさん mailto:sage [2022/12/22(木) 11:43:33.39 ID:kpFE4WK60.net] アプリ(強制)終了後に使ったファイル削除→このファイルは使用中です。 OSで保証されてないならアプリ側でやるしか無いじゃん。
919 名前:デフォルトの名無しさん mailto:sage [2022/12/22(木) 13:27:28.75 ID:LbsYIb+eM.net] 誰かがこのPCを使っている
920 名前:デフォルトの名無しさん mailto:sage [2022/12/22(木) 13:35:11.18 ID:KHPfY9lXd.net] LANなら充分にあり得ることだな
921 名前:デフォルトの名無しさん (ワッチョイ 9710-Hnc0) mailto:sage [2022/12/22(木) 19:42:13.17 ID:/Ar1RYH70.net] プロセス終了に関しちゃ今時のOSでハンドル握りっぱなしにはならんでしょ
922 名前:デフォルトの名無しさん mailto:sage [2022/12/22(木) 20:28:13.17 ID:Q5govio9d.net] /* 文字列を逆順にして返す関数 */ #include <stdio.h> #include <string.h> void reverse(char *ss); int main(void) { char tt[]= "programing game"; reverse(tt); printf("tt=%s\n",tt); return 0; } void reverse(char *ss) { int wk,pos1=0,pos2; pos2=strlen(ss)-1; while (pos1<pos2) { wk=*(ss+pos1) *(ss+pos1)=*(ss+pos2); *(ss+pos2)=wk; ++pos1; --pos2; } } このプログラム、gccだとコンパイル出来ますが、clangだと以下のエラーになります。なぜでしょうか? ~/CCR/UserFiles/sample26.c:22:3: error: invalid operands to binary expression ('int' and 'char *') *(ss+pos1)=*(ss+pos2); ^~~~~~~~~~ 1 error generated
923 名前:はちみつ餃子 mailto:sage [2022/12/22(木) 20:40:06.89 ID:KT1tc7ko0.net] >>909 wk=*(ss+pos1) の後にセミコロンが抜けてる。
924 名前:デフォルトの名無しさん mailto:sage [2022/12/22(木) 20:43:53.45 ID:Q5govio9d.net] ありがとうございます。コピペミスでした。
925 名前:はちみつ餃子 mailto:sage [2022/12/22(木) 21:11:31.21 ID:KT1tc7ko0.net] 事例としては面白いよ。 セミコロンが抜けても一応は式の形式として成立するから 型が合わないというところがエラーとして報告されちゃうんだな。
926 名前:デフォルトの名無しさん mailto:sage [2022/12/22(木) 22:10:59.69 ID:dL3lthyL0.net] 昔のコンパイラならエラーなしで通してだろうな
927 名前:デフォルトの名無しさん mailto:sage [2022/12/22(木) 22:43:34.75 ID:K5vPIqXq0.net] ナウいヤングな文字列の掛け算はサポート外なんだわ strcatで頑張れ
928 名前:デフォルトの名無しさん mailto:sage [2022/12/22(木) 23:40:21.52 ID:bege0WAi0.net] 昔のコンパイラだと=*が乗算代入だったんだけどな
929 名前:デフォルトの名無しさん mailto:sage [2022/12/23(金) 08:27:13.83 ID:msM3WKDD0.net] exit on free 論争か・・・ そういう論争があったというのは知っているが どっちに帰着したのか知らない
930 名前:デフォルトの名無しさん mailto:sage [2022/12/23(金) 08:52:05.54 ID:FPNxo7old.net] RAIIでexitするやついたら匙投げる
931 名前:デフォルトの名無しさん mailto:sage [2022/12/24(土) 17:52:35.28 ID:aYmW2hx40.net] プロセス終了を検知してOSで良きに測って欲しいよね
932 名前:デフォルトの名無しさん mailto:sage [2022/12/24(土) 20:25:27.94 ID:xbH5VpiM0.net] >>917 膨大なリストなんかはいちいち解放しないで exit( ) でヒープごと解放する方が効率的なんて言う奴までいたんだよ...
933 名前:デフォルトの名無しさん mailto:sage [2022/12/24(土) 21:34:16.33 ID:aYmW2hx40.net] いっそプログラム開始時に、 ドーンとでっかくメモリ確保して 自前でチマチマ割り当てて、 終了時にドーンと解放で良い気もする
934 名前:はちみつ餃子 mailto:sage [2022/12/25(日) 00:15:12.94 ID:8blj/qJt0.net] そういう戦略をとっている有名なプログラムもある。 確保したメモリが結局はプログラムの最後までほとんど使用されっぱなしだということがわかっているなら ちまちま管理
935 名前:しなくても終了と同時に全部が回収されることをあてにしても総合的なメモリ使用量は変わらない (むしろ free のコスト分だけ節約できる) という考えをすることはあって、 リンカの LLD や Mold がそういう戦略をとっていたはず。 http サーバの h2o はセッション単位でドカンとメモリの確保と解放をしてる。 つってもプログラム全体のメモリについて見通しが立てられるということと 実行環境の事情を把握してるからそういう戦略を取れるのであって、 普通は小さなモジュールに分割するし、モジュール単位でメモリ管理に矛盾がないように設計するので 結果的にチマチマした確保と解放になる。 そこそこの規模になるとプログラムを分割せずに把握するのは大変なので凡人は小さな単位で 確保と解放をするように設計するのはしょうがないよ。 [] [ここ壊れてます]
936 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 07:20:21.70 ID:vLPFsJBC0.net] >>921 > 結果的にチマチマした確保と解放になる。 解放が必要なものまで>>920 みたいなことしちゃダメだろ リンカーのシンボル表みたいなのは処理中は追加オンリーで処理終了後に解放することになるから一気に解放が有効なわけで
937 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 08:37:13.23 ID:AjsJE3fQ0.net] つまりメモリプールでしょ。昔からある戦略だ
938 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 08:49:15.44 ID:gsvPl1RZ0.net] DOS時代の拡張子COMアプリは起動時に空いてるコンベンショナルメモリ全部(PC98ならVRAMの前まで)COMアプリに割り当てられるんだっけ。
939 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 08:59:08.85 ID:CcfMXDnS0.net] やればできるよ EXEとの違いはリロケーションテーブルがないってだけ コード次第で出来んことは無いィィィ
940 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 09:03:42.49 ID:vLPFsJBC0.net] >>923 考え方は近いがもっと特化した手法 なのでシンボル表みたいなものにしか適用できない
941 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 10:31:57.80 ID:NJW41kMTa.net] 空いてるコンベンショナルメモリ全部というと大きなメモリが割り当てられるように聞こえるけどコンベンショナルメモリは640キロバイトしかないからな 逆に小細工しないと拡張メモリ(exeで使える大きなメモリ)が使えないと言った方が正しい
942 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 11:06:28.12 ID:CcfMXDnS0.net] リアルモードの「拡張メモリ」ならCOMでもEXEでも同じことだぞ プロテクトモード用の「EXE」はまた別物だ バイモーダルEXEなんてのもあったね
943 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 13:44:18.05 ID:pgi9BcgIM.net] ラージモデルのexe、拡張子をcomに書き換えても動くのは秘密です。
944 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 15:44:19.19 ID:mgz0dfZnM.net] exeとcomってファイル先頭のエントリーアドレスの解釈が違ってなかったっけ? 拡張子だけ変更しても暴走したような気がする
945 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 16:11:57.52 ID:zQEQkIp7H.net] >>924 自力でシステムコール(あるいは farmalloc()) と far ポインタを扱うんだったら出来る
946 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 16:49:45.05 ID:FlWfyDt20.net] OSは、EXEかCOMかの判定をファイル先頭2バイトで行うので 拡張子は同名実行ファイルの優先度以外には影響ありません
947 名前:デフォルトの名無しさん [2022/12/25(日) 18:17:37.99 ID:4l2e8mxL0.net] 何のOSの話なんだよ?
948 名前:デフォルトの名無しさん mailto:sage [2022/12/25(日) 22:36:13.77 ID:R9zYhJab0.net] >>933 MS-DOS
949 名前:デフォルトの名無しさん (US 0Hd7-ij7E) mailto:sage [2022/12/25(日) 23:53:11.65 ID:3pvnVlsWH.net] >>925 LSI-C試食版のコード64KB の制限はなんとかなりませんかね?
950 名前:デフォルトの名無しさん (ワッチョイ b363-dxp0) mailto:sage [2022/12/26(月) 00:03:12.26 ID:eX0Ff8H70.net] 試食版のコードで生成する実行プログラムを、動かす環境もってるの?
951 名前:デフォルトの名無しさん (US 0Hd7-ij7E) mailto:sage [2022/12/26(月) 01:36:38.31 ID:xk9EZjkPH.net] >>936 t
952 名前:akeda-toshiya.my.coocan.jp/msdos/index.html [] [ここ壊れてます]
953 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 10:26:13.14 ID:eX0Ff8H70.net] W32が動く環境があるなら、そこでネイティブに使えるコンパイラにした方が良くないかな? 試食版って事はそれを業務で使うわけではないんでしょ?
954 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 11:02:09.22 ID:+xP92Jxa0.net] 8086 の SBC とか使って趣味でなんか作ってるんじゃね 俺も会社でだけど 80186 ボードのために Visual C++ 1.52c をずっと持ってた
955 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 11:47:25.06 ID:Gtnl1i7F0.net] C使用でも何も考えずにVC++無料版入れてるわ。 バージョンアップの度にプロジェクト作成項目に悩む・・・。
956 名前:デフォルトの名無しさん [2022/12/26(月) 11:49:12.88 ID:rbZigseYd.net] 関数のポインタの配列を返す関数の宣言を教えてくさい
957 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 12:21:30.32 ID:sWfTrmtka.net] 残念だなのび太 C言語は配列を返せないんだ
958 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 12:24:01.49 ID:XQluw9Ded.net] >>935 試食って書いてあるの見えない? そういう類いには意図的に制限かけてあるんだよ 有料の正規バージョンを買ってねって意味 PS3のlinux封じとは訳が違う 怒る人のいないやり方なので 脱獄は誰も手伝ってくれないよ
959 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 12:48:43.97 ID:gpJgKl24M.net] 森公一郎さん、亡くなっているんだよな
960 名前:デフォルトの名無しさん [2022/12/26(月) 12:49:38.27 ID:6bMfB0bxa.net] >>942 返す関数は定義出来るだろ 確保した領域の生存が関数内のみかそうじゃないかで結果は変わるが >>941 思ってるものを描いてみ?
961 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 12:54:26.08 ID:VH0Lg5Zw0.net] まあ関数イテレータ的には使えるのか int getNoTest1(int x, int y, int z){return x*100+y*10+z;} int getNoTest2(int x, int y, int z){return x*200-y*20-z;} int getNoTest3(int x, int y, int z){return x*1000-y*100+z;} typedef int(*FuncType)(int, int, int); FuncType *getFuncAddrArray(void){ static FuncType fa[3]; fa[0] = getNoTest1; fa[1] = getNoTest2; fa[2] = getNoTest3; return fa; } int main(int argc, char *argv[]){ FuncType *funcAddr = getFuncAddrArray(); for (int i = 0; i < 3; ++i){ printf("%d\n", funcAddr[i](rand(), rand(), rand())); } return 0; }
962 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 15:36:06.25 ID:tmqxSKGS0.net] >>945 できねーよ 配列が第一級オブジェクトじゃない珍しい言語
963 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 16:49:38.00 ID:URVWGre6d.net] void(*func(void)[2])(void); できるとしたら、こうなるが
964 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 17:05:11.56 ID:0DsOmzGV0.net] 固定長配列を戻すなら struct を経由したくなるわ
965 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 17:05:36.17 ID:F5Lcb5Ke0.net] const char *f() {return "関数のポインタの配列";}
966 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 17:32:34.93 ID:eX0Ff8H70.net] 一休さんは、やめよう
967 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 17:34:43.38 ID:0DsOmzGV0.net] https://ideone.com/DiokCM strust ひっぺがして 戻り値が配列となる宣言だとおこられた FUNC_PTR_T getFuncs(void)[3];
968 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 18:26:36.88 ID:+xP92Jxa0.net] >>949 てか struct で包めば配列も返せるよね
969 名前:デフォルトの名無しさん mailto:sage [2022/12/26(月) 18:41:08.47 ID:sEpxtj4KM.net] 関数へのポインタの配列の構造体?
970 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 00:19:48.06 ID:8jh3A4jF0.net] >>944 近藤嘉雪 パーサ担当 森 公一郎 コードジェネレーター担当 近藤さんの本は20年くらい前本屋でよく見かけたな
971 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 01:28:35.56 ID:1kPfWYrSM.net] 配列も値型だったら一貫性が有っただろうな でも、配列を丸ごとコピーするなんて普通しないから、利便性を優先したんだろう それによって、ポインタと配列は似てるけど違いもあるみたいな、初学者泣かせな仕様が生まれてしまった
972 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 03:19:13.84 ID:lusjSahA0.net] ベースアドレスが配列の初めの要素を指すCスタイルの配列には一貫性があるだろ、だから0-based indexを採用する蓋然性があるわけで 何らかのbookkeeping、サイズ、ストライドやランク情報等のメタデータをスカラで一緒に渡す明示的なもの、あるいはstructで包む、メンバに.flagを設けるのはdope arrayの再発明 一方、dope arrayをネイティブ採用する為には ベースアドレス+0は配列要素ではなく、メタデータを指さねばならない だから初めの配列要素はベースアドレス+1(いわゆる1-based index)であるべき、という蓋然性がある 最も邪悪な配列の設計はメタデータを持つにも関わらずC慣習にすり寄って来て0ベース採用のやつな、設計に何の一貫性も無い アドレス計算はCスタイルの方がスッキリして好き、個人的にはだけど
973 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 03:42:16.62 ID:lusjSahA0.net] array[0]がarrayの始めの要素を指す、という伝統を尊重しつつ整合的にメタデータを持たせる拡張をしたいなら、arrptr-1に持たせるって手もあるね
974 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 05:21:18.30 ID:nX/ozHbV0.net] 文字列はchar型の配列だし 文字列のコピーなんか、あらゆる言語で基本中の基本だ
975 名前:デフォルトの名無しさん (ワッチョイ 9d10-dxp0) mailto:sage [2022/12/27(火) 08:19:53.31 ID:yfz0bOFn0.net] 処理コスト軽減の為に配列自体ではなく配列の先頭ポインタでやり取りしましょう。
976 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 11:14:55.49 ID:FjfQte1M0.net] 配列が固定長なのは仕方がないと言うか、当然かなと思うが 文字列は、編集がもっと自在に出来た方がありがたかったな
977 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 11:19:00.19 ID:8jh3A4jF0.net] >>960 同じことだぞ 式の中では配列はポインタそのものだ
978 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 11:32:56.50 ID:pT1qhH4d0.net] sizeof演算子「いや俺区別してるし」
979 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 11:34:00.98 ID:2fUOYjFgd.net] &演算子: いい加減なこと言ってもらっちゃ困るな
980 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 11:36:45.19 ID:2fUOYjFgd.net] 昔、こんなバカいたよ printf("%d", sizeof "abc"); 見ろ、文字列はポインタだ(キリッ
981 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 11:49:59.77 ID:8jh3A4jF0.net] 式の中の配列と書いたのが読めないバカが多すぎる
982 名前:デフォルトの名無しさん (アウアウウー Sa2f-aXTt) mailto:sage [2022/12/27(火) 12:20:51.00 ID:3AXDXHupa.net] 式がどういう意味かわかった上で他人をバカ扱いしてる?
983 名前:デフォルトの名無しさん (ワッチョイ 9769-jXNG) mailto:sage [2022/12/27(火) 12:21:02.33 ID:o7XCQITF0.net] 965なんかもあくまで式だよ int a[100]; int *b; (sizeof a) + (sizeof b); ←これも式であり、式の中に配列もポインタも居る a++ 非合法 b++ 合法 これも式
984 名前:デフォルトの名無しさん (US 0Hd7-ij7E) mailto:sage [2022/12/27(火) 17:43:59.96 ID:x3eVxeWPH.net] あの~ 誰か excel マクロで動く cc を作ってくれませんか? うちの会社、cygwin 禁止なんです、cygwin インストーラですら実行できないんです、すごく弱っています コンパイラが手元にないと私は無力……
985 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 18:03:44.42 ID:/tVTIbQ7a.net] VBA使えよ 安心しろお前は自分で思ってるほどCが得意じゃないから
986 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 18:19:46.78 ID:uvaA1liZd.net] visual studioの稟議を上げられない社畜?
987 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 18:22:29.22 ID:FjfQte1M0.net] C#のコンパイラなら、何もせずともWinのどっかにはいっているような気がした
988 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 19:41:50.61 ID:tBCD9SD30.net] >>971 仕事に関係のない VS なんて認可されませんよ、べつにソフトウェアの人じゃないんだから >>970 コンパイラが手元にないと、どうもやる気がでなくって…
989 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 19:42:45.86 ID:tBCD9SD30.net] >>972 cs.exe なんて大っ嫌い
990 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 20:26:44.18 ID:pT1qhH4d0.net] >仕事に関係のない VS なんて認可されませんよ >誰か excel マクロで動く cc を作ってくれませんか? 仮に誰か作ってもインストール認可されないんじゃないの? そういう環境だと読み取ったけど
991 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 20:30:03.68 ID:NnGcg72Bd.net] >>973 勤務中にくだらねえことやってんじゃねえって上司に怒られるの?
992 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 20:31:33.55 ID:usWDFVvc0.net] まあ仕事に関係ないって自分で言っちゃってるからなぁ
993 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 20:39:00.00 ID:FjfQte1M0.net] じゃあ、無敵のシェルスクリプトだだだ・・・
994 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 22:26:37.16 ID:tBCD9SD30.net] >>975 >仮に誰か作ってもインストール認可されないんじゃないの? >そういう環境だと読み取ったけど マクロはインストールするものじゃないから自由に使えるんですよ、インストール権限の必要なソフトはインストールできないってだけでして >>976 そうはいっても、単一ディレクトリの全ファイルに対して、ファイル名の冒頭に連番を振るプログラムを 3 時間ほどでチョロっと書いて、業務に生かしているんですけどね いちいち手作業でファイル名を変えるとかやってらんないでしょ?自分のために自分で書く分くらいは許容してほしいよね
995 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 22:29:39.01 ID:tBCD9SD30.net] あと、巨大な csv ファイルを結合するプログラムも便利に使っていたんですけどね、大概の機械はデータを csv で吐いてくれますますからねえ
996 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 22:31:04.10 ID:usWDFVvc0.net] >>979 屁理屈なら上司に言って怒られてこい なぜまともなソフトがインストール不可なのにお前の作ったソフトなら大丈夫と思うんだ
997 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 22:35:10.73 ID:usWDFVvc0.net] ファイル名の頭に連番打つとかPowerShellでもバッチでもVBAでもできるしそもそも打つ必要があるかどうかさえ怪しい お前のやってることが本当にみんなにとっていいことなら業務効率化のためにコンパイラの申請を通すのは何も難しくない 拒否られてるところで気づけよマジで 職場に不和の種をまくんじゃねえ
998 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 22:35:56.95 ID:FjfQte1M0.net] こう言うわがままは却下されて当然ではないか
999 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 22:43:18.14 ID:tBCD9SD30.net] >>976 操作記録をいちいち記録されて、裏でこっそり査定に響く仕組みですよ、たぶん ああ、こんなところでここまで書いちまったらもう私の給料は来年は半額になっちまいますねえ、当の昔に諦めてるけど
1000 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 22:58:37.89 ID:VvvSD8wK0.net] >>982 power-shell はたぶん入っていないと思いますよ、あったら使うに決まってますもん VBA はいちいち excel を起動してマクロを走らせて、ああ、もうめんどくさくって死にそう 実行ファイルワンクリックで、ピシッと全ファイルを改名したいだけですよ、そうすればさくさく錯綜するメールスレッドを管理できますからね バッチファイルで改名?できるというのなら見せてくださいな? >>981 業務効率改善のため自分のために自分で作り自分が使うだけのソフトと、多数の人が使う商用の売り物のソフトとを一緒にしないでくれる?
1001 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 23:03:13.50 ID:VvvSD8wK0.net] >>983 そりゃ、業務そっちのけで得体の知れないプログラムを書いてばかり(星新一の短編にそんなのがありましたね…)だったら叱られますけど、ぱっぱと3時間で書いて後はノーメンテ、それで半年実用になっているんだから遊んでいるわけじゃないんですけど
1002 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 23:06:57.48 ID:VvvSD8wK0.net] >>982 >業務効率化のためにコンパイラの申請を通すのは何も難しくない 難しいんですよ… あらかじめ効用をきちんと提示しなければならないなんてめんどくさくってやってらんない、 作りたいソフトが具体的に念頭にあるわけではなく、将来的に使いたい可能性が発生する可能性があります、で稟議を通るわけがないでしょう?
1003 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 23:25:57.12 ID:FjfQte1M0.net] マ板で相談してみたら? ここは大分場違いになってきてる
1004 名前:デフォルトの名無しさん mailto:sage [2022/12/27(火) 23:34:33.01 ID:nX/ozHbV0.net] ブログにでも書けばいいのでは
1005 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 00:05:29.63 ID:JeA8YDJe0.net] >>988 (職業)マじゃないただの一般人なので、マ板はたぶん板違い >>989 ブログみたいな上等な場所に書くことではなく、便所のチラ裏で愚痴るに相応しい話題だと私は思いますけどね まあ、もうやめます
1006 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 01:06:31.58 ID:PyoNDBFu0.net] 別に職業プログラマでなくても良いんだよ プログラム(ロジック)についての悩みならここで良いが プルグラムを書こうとする人の悩みは、マ板の方が相応しい
1007 名前:デフォルトの名無しさん (テテンテンテン MM97-t1KK) mailto:sage [2022/12/28(水) 03:37:42.61 ID:+f6n+5TtM.net] > バッチファイルで改名? これが出来なきゃ何のためにバッチファイルが存在してんだよw バッチやシェルスクリプトは、ファイルのコピーやリネームとか、ファイル関連の処理が簡単に出来る事が最大のメリットだ 兎に角グクれば山ほど出てくる
1008 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 05:55:41.03 ID:VGHawTJO0.net] C
1009 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 05:56:03.28 ID:VGHawTJO0.net] 言
1010 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 05:56:54.31 ID:VGHawTJO0.net] 語
1011 名前:デフォルトの名無しさん [2022/12/28(水) 05:57:50.13 ID:DPVYYyHtM.net] C
1012 名前:デフォルトの名無しさん [2022/12/28(水) 05:58:53.46 ID:DPVYYyHtM.net] +
1013 名前:デフォルトの名無しさん [2022/12/28(水) 05:59:41.77 ID:DPVYYyHtM.net] +
1014 名前:デフォルトの名無しさん [2022/12/28(水) 06:00:17.27 ID:DPVYYyHtM.net] 言
1015 名前:デフォルトの名無しさん [2022/12/28(水) 06:00:51.24 ID:DPVYYyHtM.net] 葉
1016 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 145日 6時間 28分 24秒
1017 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています