X



C言語なら俺に聞け 148
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (アウアウカー Sacf-slpW)
垢版 |
2018/09/19(水) 17:56:50.83ID:XSTNMnDwa
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/

※前スレ
C言語なら俺に聞け 147
http://mevius.5ch.net/test/read.cgi/tech/1534430162/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0006デフォルトの名無しさん (アウアウカー Saeb-slpW)
垢版 |
2018/09/19(水) 21:01:51.92ID:zcXFtBV7a
opaque音頭
0009デフォルトの名無しさん (アウアウカー Saeb-slpW)
垢版 |
2018/09/19(水) 21:46:14.52ID:zcXFtBV7a
透けるトン
0010デフォルトの名無しさん (ワッチョイ 9780-9b2l)
垢版 |
2018/09/19(水) 22:44:21.77ID:xLP4ypV20
おおきいおっぱいを占領する
0011デフォルトの名無しさん (アウアウカー Sae9-kke4)
垢版 |
2018/09/20(木) 12:33:56.62ID:irJ5n1n9a
おっぱいがキューイングされてる状態だろ
0012デフォルトの名無しさん (アウアウカー Sae9-rLjT)
垢版 |
2018/09/20(木) 12:46:40.86ID:rEtRtbV+a
キューは口を尖らせて発音
0016デフォルトの名無しさん (ワッチョイ c964-vX2D)
垢版 |
2018/09/20(木) 19:19:48.48ID:fVTsYrUH0
みんなmusl libcとか使ってたりする?
プロジェクトの内容だけみると けっこう良さげなんだけど
あまり日本語の情報を聞かないし 実際はglibcとかが大半なのかな。
0018デフォルトの名無しさん (ワッチョイ 6976-Syfo)
垢版 |
2018/09/21(金) 17:35:46.83ID:r4ObfaEn0
c言語本格入門のリスト構造(単方向リスト)が理解できず困っています。
書籍には図を書けば理解できるとあり、ソースにprintf関数をところどころに入れて、ポインタの動きを追いかけていたのですが、余計こんがらがってしまいます。
他のサイトや他者の質問が掲載された掲示板なども参考にしましたが、さっぱりわかりません。
図を描いても理解には繋がりません。
プログラムは250行くらいあり、掲載出来る様なサイトがあれば誘導お願いします。

ポインタの*ptr_now、*ptr_before、*ptr_new の動きと役割が理解できれば、前に進めると思うのですが、知恵を貸して下さい。
0022デフォルトの名無しさん (ブーイモ MM05-Nssn)
垢版 |
2018/09/21(金) 18:39:31.34ID:FeY49FdEM
>>18
とある位置に新しいデータを挿入するサンプルコードなんじゃないか?

newが新たに挿入しようとするデータのアドレス、
nowが挿入先の直後のデータのアドレス、
beforeが挿入先の直前のデータのアドレス。
(単方向リストへのデータ挿入は新しいデータを挿入する位置の前後のデータのアドレスが必要のため)


ところでnowってスケジュールリストか何かなのか
0023デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/21(金) 18:44:04.65ID:M1mNaNG00
>>18
努力しているようだが、色々おかしい。

> ソースにprintf関数をところどころに入れて、ポインタの動きを追いかけていたのですが
ポインタの『動き』ではなく、ポインタの『中身』を追いかけろ。
ポインタは自然言語で言う「ポイントする(指し示す)もの」でしかないから、
正しい物を示しているかどうかだけであって、
それはポインタ自体ではなく、『中身』を見ないと判定出来ない。

> 単方向リスト
> *ptr_now、*ptr_before、*ptr_new
単方向リストならポインタは一つだけだし、
> now と before は作業用領域で、newは名前とかを格納しています。
名前の付け方が絶望的におかしい。
多分君の理解が間違っているだけだと思うが、
もしその理解が正しくて、ガチでこんな名前を付けているソースなら、
その本は今すぐ捨てるべきだ。
これはソースを上げれば誰かが見てくれるだろう。
(多分>>22が当たりだろう)

当たり前だが、
1. まず、0,1,2,3... とリストに入れて、それを表示(リストアップ)出来る関数を作れ。
2. 次に、その関数を用いて、挿入等したとき、期待通りにリストアップ出来るか確認しろ。
3. それでバグっているようなら、その後でいちいちIDE等で止めてポインタの値を確認するんだよ。
多分お前はデバッグの仕方もおかしい。

ただまあ正直なところ、このレベルの初心者ならリストなんてどうせ使わないし、
スキップしても構わんぞ。いちいち全部やらなくてもいい。
そんなことより、ゲームを作りたいのならそのゲームを作る方向目指してコーディングしろ。
そのうち、ポインタ等の意味も分かってきて、今回の問題なんて自然に解決出来るようになる。
0025デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/21(金) 19:50:07.83ID:M1mNaNG00
>>22
ちなみに細かいようだが、

> (単方向リストへのデータ挿入は新しいデータを挿入する位置の前後のデータのアドレスが必要のため)
実際の所、単方向リストなら

struct List {
T value; // または T* ptr;
T* next;
};

だから、ループは now と next だけで構成しないと筋が悪いんだけどね。
ソート済みリストでデリミタがヌルポなら、

while (now->next && value <= next->value) now = next; // 同値なら挿入順

で now を確定させ、now と next の間に挿入する。
nowは「今」、newが「新」として、beforeは余計だね。
何かの説明をする為なのだろうけど、余計におかしくなってる。
(挿入するのは『nowとnext』の間であって、『beforeとnow』の間ではない)
0027デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/21(金) 19:58:44.97ID:M1mNaNG00
>>24
駄目な事を駄目だとはっきり言っただけだ。
怒られたことのないゆとりには噛みついているようにしか見えないのかもしれないが、
このレベルの駄目っぷりを駄目出ししてもらえない方が問題だろ。

これが許容出来ないのなら、コテハン制の他サイトに行けよ。
どんなアホな投稿でも優しく教えてくれるだろうさ。
ただそれが本人の為になるかどうかはまた別だが、ゆとりにはお似合いだ。

右も左も分かってない馬鹿なんだから普通にIDE使えよ。
printfデバッグなんて(IDEが有料だった昔はさておき)
今のそのレベルの初心者がやるもんじゃない。


まあしかし、お前がそういうのならお前が導いて見せろ。
出来もしないのに文句だけ言うのもゆとりの特徴だとも思うがね。
0031デフォルトの名無しさん (アウアウカー Sae9-rLjT)
垢版 |
2018/09/21(金) 22:15:10.02ID:ZlhIYDcEa
うまい釣りだ。このままじらしてじらしていつまでもソースを公開しなければこのスレは活性化して書き込みで溢れあっという間に3スレぐらい消費するだろう。流石としか言いようがない。
0033デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 00:33:04.56ID:PGp2AKzL0
低学歴知恵遅れには質問の意味が理解できない
普通に質問の内容を再現すればだいたいこうなる

typedef struct tag_aho_list_t {
  char new[0x10];
  t_aho_list_t* next;
} t_aho_list_t;

ptr_new = (t_aho_list_t*)malloc(sizeof(t_aho_list_t));
strcpy(ptr_new->name, "aho1");
ptr_before = ptr_now;
ptr_now = ptr_new;
ptr_before->next = ptr_now;

ptr_new = (t_aho_list_t*)malloc(sizeof(t_aho_list_t));
strcpy(ptr_new->name, "aho2");
ptr_before = ptr_now;
ptr_now = ptr_new;
ptr_before->next = ptr_now;
0034デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 01:01:16.23ID:16ZpsTnK0
>>33
お前も絶望的にダサいコードを書くな。
追加なら、

> ptr_before = ptr_now;
> ptr_now = ptr_new;
> ptr_before->next = ptr_now;

ではなくて、

ptr_now->next = ptr_new;
ptr_now = ptr_new;

だろ。
つか、単方向リストで before を使う時点で間違い。
0037デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 01:42:06.64ID:16ZpsTnK0
>>36
マジでIDE使え。
そして貼るときはlanguageをCにしとけ。シンタックスハイライトが変わるから。
で、どれが分からんの?

> enter
> find
> delete
> show_all
> delete_all

mainはこの際分からなくていい。
最初に理解しないといけないのは show_all だ。

ただし細かいことを言ってもキリがないが、

> void show_all(void)

なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?
さらに酷いのは show_all 内でグローバル変数 address を掴んでいること。
普通は void show_all(tag_address* ta) だよ。
そうじゃないと複数のリストがあったときに使い物にならないだろ。

マジな話、このソースのレベルの本なら捨てた方がいい。
俺は大学の教材がいいと思うぞ。
(読んでないが)リストならググったら東工大とか出てきた。
http://www.is.titech.ac.jp/compview/clang/chap11.html
0040デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 01:54:37.82ID:16ZpsTnK0
>>38
マジかーと思って linux kernel のコード見たが、書いてるな。
そして K&R 見てみたら、なんとこれも書いてた。

旧来の記法なら書くのが正しくて、物によってはコンパイル通らないとかか?
とにかく、 void がクソだというのは取り下げる。


>>39
> Cだと show_all(...) と同じ意味になって何渡してもコンパイル通っちゃうからあぶない。
マジ?今まで聞いたこと無かったわ。

しかし ( ... ) と同じ意味なら例の va_list を使う糞コードになるから、
コンパイラのチェックが甘くなるとはいえ、間違って使うって事はなさそうだが。

まあとにかくありがとう。
0041デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 02:29:56.24ID:16ZpsTnK0
>>36
何度も言ってるがマジでIDE使え。
次にマジでこの本はソースがおかしいから捨てた方がいい。処理のフローがクレイジーだ。
何かおかしな規約に沿って書いているように思える。

178-205行目は、普通なら以下。

while(ptr_now != NULL && no >= ptr_now->no) {
if (no == ptr_now->no) {
if (address == ptr_now) address = ptr_now->next;
else ptr_before->next = ptr_now->next;
free(ptr_now);
return 0;
}
ptr_before = ptr_now;
ptr_now = ptr_now->next;
}
return -1;
0042デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 02:55:23.92ID:16ZpsTnK0
>>36
ちなみに一応ちゃんとポインタで書いておくと、以下な。
whileの条件は分けた方が分かりやすいか?
書き込みターゲットは一つに纏める。

int delete(int no, tag_address* ptr_now) {
tag_address** ptr_tgt = &ptr_now;
while(ptr_now != NULL) {
if (no == ptr_now->no) {
*ptr_tgt = ptr_now->next;
free(ptr_now);
return 0;
}
if (no < ptr_now->no) return -1;
ptr_tgt = &ptr_now->next;
ptr_now = ptr_now->next;
}
return -1;
}
0044デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 03:03:32.99ID:16ZpsTnK0
>>36、42の訂正版

int delete(int no, tag_address** ptr_head) {
tag_address** ptr_tgt = ptr_head;
tag_address* ptr_now = *ptr_head;
while(ptr_now != NULL) {
if (no == ptr_now->no) {
*ptr_tgt = ptr_now->next;
free(ptr_now);
return 0;
}
if (no < ptr_now->no) return -1;
ptr_tgt = &ptr_now->next;
ptr_now = ptr_now->next;
}
return -1;
}

君には余計に分かりにくくなったかもしれないけど、こんな感じ。
まあ頑張れ。
0045デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 03:13:04.00ID:16ZpsTnK0
>>36
enter関数も作りがおかしい。
25で言ったとおり、
> (挿入するのは『nowとnext』の間であって、『beforeとnow』の間ではない)
このソースは before と now の間に挿入しており、明らかに間違ってる。

マジでこの本はゴミだから捨てろ。
0046デフォルトの名無しさん (ワッチョイ 6e5b-Nssn)
垢版 |
2018/09/22(土) 03:44:08.18ID:wyOkhzEz0
まあいいんじゃね?
処理内容毎に塊を分けて上から順番に並べているのは他人にわかりやすく説明するために都合がいいのだと思う。
きっと書籍では、N行目からM行目まではこんなことをしてます、とか、塊毎に処理内容のコメントが記述されてるのではないかと思う。
0047デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 04:34:50.74ID:16ZpsTnK0
>>46
いやこれはさすがにアウトだろ。
実際部下にこのコード出されたら絶句するだろ。

178行目と194行目のヌルチェックなんてダブってるし、マジで意味無い。
頭が悪い奴が一生懸命書いたコードだぞこれは。手本にするには酷すぎる。
delete関数は筆者には難しすぎて、異常系を一つずつ外して行ってるから無駄にダブってる。
だけどこの規模でこれだと絶望的だろ。
マジでこの本は捨てた方がいい。

18が読めないのは18の技量の問題だけど、
読みやすいコードと読みにくいコードというのは実際にあって、
要するに腕前がいい奴が書いたコードは一般的に読みやすく、下手くそが書いたコードは読みにくい。
(勿論高速化等かけた場合は若干読みにくくなるが)

頭が悪いのなら、関数を分けて分割すべきであって、
breakして下に無理矢理繋げているから意味不明なコードになる。

なお高速コードは以下。
int delete(int no, tag_address** ptr_head) {
tag_address** ptr_tgt = ptr_head;
tag_address* ptr_now = *ptr_head;
while(ptr_now != NULL && no >= ptr_now->no) {
ptr_tgt = &ptr_now->next;
ptr_now = ptr_now->next;
}
if (ptr_now != NULL && no == ptr_now->no) {
*ptr_tgt = ptr_now->next;
free(ptr_now);
return 0;
} else return -1;
}
0049デフォルトの名無しさん (スプッッ Sd0a-RfHF)
垢版 |
2018/09/22(土) 08:07:18.41ID:MIXlgiXZd
C言語で
A,B,C,D,E,F,G,H,I,J,K,Lの12個のペアを、3個ずつの4つのグループに分ける場合
例えばA,BとA,CとD,Eは同じグループに入れないとして、実行時には(ADF,BCE,GHI,JKL)みたいな感じで返すプログラミングの書き方の例を教えてください
0052デフォルトの名無しさん (ワッチョイ c193-h/KU)
垢版 |
2018/09/22(土) 08:32:14.74ID:Yqnou5lg0
>>45
このソースでは「beforeとnowの間にnewを挿入」するenter()で正しく動作するね。

リストの定常状態で、各要素はメンバnoの値で昇順整列している。
ポインタnextのつなぎ換えをする時点で、
beforeのnoは新要素のnoより小さい、nowのnoは新要素のnoより大きい、

よって new->next = now, before->next = new と格納すれば
before->no < new->no < now->no の順序が維持される。
ただし境界条件(リストの端っこの処理)はここでは考えていない。


変数やメンバの命名をもう少し工夫すれば…と思うけど。
この投稿を書いててnewとnow、メンバnoで混乱してきた。
0053デフォルトの名無しさん (ワッチョイ c27c-iHci)
垢版 |
2018/09/22(土) 08:58:29.84ID:bcuOiC7Q0
リスト操作に特化した関数を作ればいいのに
リスト操作といろんな処理を混ぜ込むから見通しが悪くなってる
教育目的ならなおのこと美しく書かないといけないのに
0056デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 09:48:51.25ID:16ZpsTnK0
>>52
そりゃ糞コードでも動くだろうさ。
しかし教科書でこれはない。マジであり得ないくらい酷い。
必要のない変数を作って保持してるだろ。

走査は25に書いたとおり、(書き落とした点を修正するが)

while (now->next && value <= now->next->value) now = now->next;

でやるんだよ。そうすれば now と next だけの世界で済む。
enter()も頂けない。これは>>53の指摘通り、
int insert(tag_address* ta) と
tag_address* make_new_element(int no, char* name, char* addr)
に分けないと駄目だ。
マジでここまで酷いのはなかなか見かけないくらい酷い。
部下がこんなコード書いたら当然突き返す会社が大半だと思うぞ。

例も酷い。これは List ではなく SortedList だし、
そもそもこれをやりたいのならCではなくC++でやるべきだし。
0057デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 09:49:43.97ID:16ZpsTnK0
>>54
そこで俺叩きに転じてるのが逆に、お前が馬鹿である証拠だ。
このコードは擁護のしようがないくらい酷い。ど素人でもここまで酷いコードは書かない。
お前にはそれが分からないから俺を叩こうとしてる。

お前みたいな初心者は文法のことばかり気にするが、文法の細かいところは本当に関係ないんだよ。
俺はC++コンパイラを使っているから>>39は関係なかったし、
>>38はそうじゃないから void を書くルールになってるんだろ。
そういうもんなんだよ。
文法的に問題があるケースはルールで禁止されてるか、環境で対策されてる。

まあ俺に文法知識が欠けているのは事実としても、この本がゴミなのは揺るがない。
理由は筆者が馬鹿だから、だから、マジですぐに捨てて他の本/サイトを参考にした方がいい。
嘘だと思うのなら、この事を覚えておいて、
数年後、お前らが上達してからもう一度このコードを見直して見ろ。絶句するから。
0058デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 09:56:21.04ID:16ZpsTnK0
ちなみに余談だが K&R の良い点は、糞コードがないこと、余分な表現がないこと、なんだよ。
無駄を限界まで削ぎ落とした、極めて上質なコードが掲載されている。
筆者が頭が良く、一流のプログラマだからだ。

実際の所、入門書は総じてゴミだ。
これは入門書を書く奴は一般的に一流のプログラマではないからだ。
だから入門書のコードはマジで参考にしない方がいい。
今回のは特に。

お前らが上達すれば、このコードの酷さが分かるようになるだろうさ。
今回の顛末を覚えておいて、数年後に見直して見ろ。マジで。
0059デフォルトの名無しさん (ワッチョイ 429f-m2E0)
垢版 |
2018/09/22(土) 10:10:07.07ID:l48TeZqd0
>>57
うんそだね〜
でもどんな言い訳してもここはC言語スレだしCプラプラコンパイラと言えどCの文法書けるわけだし
初心者に偉そうに講釈垂れるならCの最 低 限の文法くらい知ってた方がいいよ
0064デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 10:42:23.23ID:16ZpsTnK0
>>61
そりゃそうだろ。
俺が文法を知らなかったことは本筋とは関係ないし、
実際、お前ら以外気にしてないだろ。
お前らは役に立つレスを全くしてないし、ただの粘着荒らしでしかない。


なお>>39、知ってるかもしれんが以下だそうな。
> C99にて廃止予定機能となった。C11でどうなったかは不明
http://d.hatena.ne.jp/eel3/20141005/1412521223
仕様に詳しい人よろしく。


「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
0067デフォルトの名無しさん (ワイモマー MM62-Y32S)
垢版 |
2018/09/22(土) 10:56:24.32ID:rjQGIIPhM
>> void show_all(void)
>
>なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?

以下のコード見たことありまちゅか〜?wwww

#inlcude <stdio.h>
int main(void)
{
printf("Hello World!");
return 0;
}
0068デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 11:02:28.11ID:PGp2AKzL0
こういう簡単なコードの書き方なら
喜々として低学歴知恵遅れのシロウトが喜々として一杯よってくる
0069デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 11:09:05.39ID:16ZpsTnK0
つか、粘着馬鹿共は誰も役に立つことを言えてない件。
お前らが俺に粘着する意味は何なんだ?

なお>>18、一番近いのは std:forward_list でソース例は以下だが、
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/bits/forward_list.h
毎回思うがGNUは別の意味で読みづらいから(マクロまぶしすぎ)
今の君には無理だが、可能ならこれを読んだ方がいい。最終的な目標にしとけ。

>>37で既に示した東工大、斜め読みしたが、
1. before 関数 を使って list_add 関数を修正して p の「直後」に挿入
2. before 関数
だから明らかにこっちの方が筋がいい。
2の意味は分からないだろうが、これはコンパレーターであり、関数ポインタに繋がる。
こちらはそもそも教育の現場、やはりちゃんとしている。
こっち使った方がいいと思うぞ。


「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
0070デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 11:10:50.53ID:PGp2AKzL0
低学歴知恵遅れはこの程度のコードしか
理解できないのがよくわかるわ
0071デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 11:13:00.76ID:PGp2AKzL0
まず質問と関係ない内容で喜々として得意になってレスしてる
こういう簡単な内容ならめっちゃ元気
0072デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 11:25:44.82ID:16ZpsTnK0
ああ、そういえば一応>>18には直球で返した方がいいか?なら、

*ptr_now:今エレメント
*ptr_before:前エレメント
*ptr_new:新エレメント

であり、まんまそのままだ。
ただ、単方向リストで before は履歴が必要だから、このコードは筋が悪い。
単方向リストなら、出来る限り、

*ptr_now:今エレメント
*ptr_next:次エレメント

で構成されるべきで、この場合には履歴が要らないからより単純なコードになる。
そして東工大はそうだからそっちを参考にしろ、というわけ。


「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
0074デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 11:41:41.67ID:PGp2AKzL0
コードがどういう書かかたされてるとか
質問してるヤツは一切してないからな

コレは低学歴知恵遅れの自分が理解できてる範囲のことを
コレは低学歴知恵遅れがひたすら連騰してるだけだからな
つまりこの質問ではどうでもいいただのコードの書き方

質問してるヤツはどういう動作をして
どうデータが格納されてるかを質問してる

低学歴知恵遅れはなんでまともに日本語が読めないわけ
まともな教育とは思えないわ。。。
0075デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 11:45:02.82ID:PGp2AKzL0
(正)まともな教育を受けてるとは思えないわ。。。
(誤)まともな教育とは思えないわ。。。

つまり
まともな教育を受けてない低学歴知恵遅れが
このスレにきた初心者にえらそうにしてるわけ

わかる?
0076デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 11:47:39.15ID:16ZpsTnK0
>>73
てかマジでこれが助けになると思ってるのか?
お前もしかして18なの?

なら絶望的に頭悪いし、プログラミングなんて止めた方がいい。
そしてもしこの回答を得る為にひたすら単発で煽っていたのなら、マジでウザイから止めろ。


「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。


>>74
ならお前が回答してやれよw
お前も回答出来ただろうし、お前はそれが役に立つと思ってたんだろ。
0077デフォルトの名無しさん (フリッテル MMd6-l/4I)
垢版 |
2018/09/22(土) 11:51:25.42ID:N6pdG9BDM
よくわからんけどその本の後の方の章でそのコードを改良して双方向リストの説明でもしてるんじゃないの?
入門書とかだとよく前の章のコードの説明を元に段階的に説明していく場合があるけど
0080デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 11:57:50.23ID:16ZpsTnK0
>>77
双方向リストでもこの意味分からん処理フローにはならないし、
関数ポインタを見据えている東工大の方が数段筋がいいよ。


「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
0081デフォルトの名無しさん (ブーイモ MMed-Nssn)
垢版 |
2018/09/22(土) 12:19:33.32ID:ZMLQwSgJM
入門書だぞ?
汎用性や高速性なんて二の次どころか入門書では不要かもしれない。
ポインタの理解も危うい段階でダブルポインタとかlist.hを提示するとか狂気の沙汰だわ。

もしもID:16ZpsTnK0が入門書を書いたらいきなりハードモードでそれこそ役に立たないから即捨て間違いないわ
0082デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 12:30:11.20ID:PGp2AKzL0
こんな簡単な質問の回答能力があるヤツはいないか
まずenter()関数をみなさい

まず一回目のenter()で動く箇所はココになる

while (ptr_now != NULL) {
  ・・・ ← ココ
}

if (address == NULL){
  ・・・ ← ココ
}

それ以外は
一回目と一回目以外、enter()では同じ
0083デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 12:31:13.43ID:PGp2AKzL0
次にココをみなさい

if (no < ptr_now->no) {
  break;
}

if (address->no > ptr_new->no){
  address = ptr_new;
printf("address(enter)=%p\n", address);
}

ココでなにやってるか
次に考えなさい
0084デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 12:40:05.82ID:PGp2AKzL0
https://ideone.com/F3xZFe
>>36のコードをCのコードの設定にしてやったから
まずenter()とshow_all()の結果をみなさい
0085デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 12:53:15.25ID:16ZpsTnK0
>>81
ならお前がまず何か役に立つ回答をしてから言えよ。
お前だって

> *ptr_now:今エレメント
> *ptr_before:前エレメント
> *ptr_new:新エレメント

は回答出来ただろうに。(何故か>>73には感謝されてるようだし)
半角君は少なくとも自分で説明しようとしている分、お前ら粘着単発馬鹿共より数段ましだぜ。

ダブルポインタ云々ではなく、18はまず、
1. リスト構造自体を理解出来ていない
2. 多分ポインタも怪しい
3. そもそも全くプログラムが追えてない
だから、IDEで全関数の頭にブレークポイントで気が済むまでステップ実行させるべきだろ。
printfデバッグなんて何でこいつがやる必要があるんだ?
このレベルの入門書ならIDEの使い方から教えるべきだろ。

そして教科書のコードはそれとなしに汎用性があるコードであるべきなのさ。
東工大はこれを満たしてる。この本は全然駄目だ。その違いだよ。
勿論東工大は最初からEcilpse + CDTだ。
http://www.is.titech.ac.jp/compview/clang/chap1.html


「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。


ただマジな話、18はプログラミングは全く駄目なタイプだと思うぞ。
数学の素養/素質がない奴は、努力しても上達しない。
プログラミングは暗記で対応出来るものではないから。
プログラミング自体を止めた方がいいと思うよ。マジで。
0086デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 12:59:10.11ID:PGp2AKzL0
printfで十分わかるからな
IDEは低学歴知恵遅れに必要
0087デフォルトの名無しさん (ワイモマー MM62-Y32S)
垢版 |
2018/09/22(土) 12:59:52.28ID:rjQGIIPhM
>なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?
>なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?
>なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
0088デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 13:02:56.96ID:PGp2AKzL0
むしろ
ID:16ZpsTnK0 ← コイツ
が一番プログラミングに向いてない

その自覚がない
しかも相当自分の頭の悪さの自覚がない
致命的
0090デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 13:10:24.37ID:PGp2AKzL0
そもそもデバッグライトは
プロのプログラミングの世界では重要な技術要件だからな

問題が発生したとき
速やかに問題点の発見ができるようにする助けになるのが
デバッグライト

問題が発生したとき
まずデバッグモードでコンパイルしてデバッグライトの出力して
なぜ問題が発生しているか原因をすみやかに発見する
幾重にも重なった巨大なシステムになるほどデバッグライトの出力は重要になる

役に立つわかりやすい適切なデバッグライトを書けるか書けないかで
だいたいそいつのオツムの程度が分かる
0093デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 13:16:47.33ID:PGp2AKzL0
さらにいえば低学歴知恵遅れに作らせると
一切ログが出力されない知恵遅れなシステムになる

エラーとしか出力されない
もしくはエラーが発生してハズなのに正常終了して
停止せずに次の処理にいってしまう
0095デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 13:24:22.34ID:PGp2AKzL0
オレの説明はカンペキだからな
0096デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 13:28:52.60ID:16ZpsTnK0
一応東工大の全部読んだぞ。
俺は東工大の教材の方がずいぶんましだと思うが。
概ね初心者向けによく書けてる。(当たり前だが)

> int main() {
> struct schedule* list = NULL;
> list = list_add(list, 2009, 1, 1, 0, "元旦");

毎回書き戻すこのインタフェースについては若干検討の余地ありだけども、
ダブルポインタも難しいというのならこれでも致し方無しか。
ただこれだとインミュータブルの言語では複数ヶ所から使用出来なくなるから、
やはりオブジェクト指向で list->add() と書く癖を付けた方がいいし、
リストなんて使いたければ素直にC++使えってことだと思うけどね。


「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。


まあ>>36のコードのゴミっぷりが分からないうちは大口叩くのは止めとけ。
そしてこれを覚えておいて、数年後に見直してみろ。
俺が何言ってたか分かるから。

>>91
ファンではないぞ。偶々ググったらヒットしただけ。
ただ、概ね大学の講義資料は良く出来てるよ。
これまでも、他大学を含めて何度もURL貼ったことがある。
(良く出来ているのが検索上位に来るだけかもしれないが、
それでもそれを有り難く利用させてもらえばいい)
0097デフォルトの名無しさん (ブーイモ MMed-Nssn)
垢版 |
2018/09/22(土) 13:29:39.28ID:c//Edh7FM
>>85
えー、あなたより先にそれ答えたけど。
単発idはnvno業者のせいなんで文句言われても困る。

ちょっとポインタで躓いたくらいでやめたほうがいいとかどんだけハードル高いんだよ。
あなたは下っ端が向いてそうだから間違っても後輩の教育係にはならんようにな。
0098デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 13:30:53.14ID:PGp2AKzL0
まずオマエの場合、
自分がゴミでクズの低知能の低学歴知恵遅れの自覚がない
そこが問題

講義用のプリント読んでもその程度だからな
0100デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 13:33:54.35ID:PGp2AKzL0
低学歴知恵遅れがなにも理解できてないのに
分かったつもりになれる

そういう意味で東工大のプリントは優秀
0101デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 13:40:00.87ID:PGp2AKzL0
最近話題の池上と似ている
頭悪い池上のいってるどうでもいいことや池上の本を読んで
なんか分かった気になれるのととても似ている
0104デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 13:47:10.22ID:PGp2AKzL0
まずオマエはな
本格的なプログラミングより
自分の本格的な頭の悪さを自覚したしたほうがいい
0105デフォルトの名無しさん (オイコラミネオ MMd6-rhI1)
垢版 |
2018/09/22(土) 13:49:03.34ID:QTHsDkPYM
やっぱC++は糞だな
信仰してるやつ含め
0106デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 13:49:39.33ID:16ZpsTnK0
>>97
> ちょっとポインタで躓いたくらい
ではないぞこれは。
そして俺の経験上、プログラミングは

A. 勝手に上手くなる
B. 徐々に上手くなる
C. 全く上手くならない(本人が努力してても)

のタイプがいる。以前は不思議だったのだが、最近だんだんとこの理由も分かってきた。
で、悪いが、18はCタイプだ。
というかそもそも昨今の「全国民がプログラミングを」みたいなのが間違ってて、18はそれの被害者だ。

と見てるからの助言だが、君が18を正しく導けるならどうぞやってみてくれ。
それについて俺が反対する理由もないし。


「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
0107デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 13:52:47.31ID:PGp2AKzL0
デバッグライトすら書けないヤツが
自分が十分なプログラミングができると思い込んでるわけ

典型的なダメな使えないヤツの典型だからな
オマエ自身が向いてないまず自覚をもつが先だ

とてつもない低学歴知恵遅れで底辺である自覚ももつべき
0108デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 13:58:31.83ID:16ZpsTnK0
>>105
C++は最近は迷走中だが、少なくとも改善版Cであることは事実なんだよ。
SortedList ならクラスを使えば綺麗に実装出来る。
文法についても問題があった>>39について対策済みだろ。

いまいち最近のお前らが言語間で争う意味が分からない。
俺はbetterC派だから、生粋のCerからも生粋のC++erからも叩かれる存在ではあるのだが、
昔はこんな事なかったと思うんだけどね。


「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
0109デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 14:02:20.79ID:PGp2AKzL0
まず頭が悪いヤツに言語の特性なんかわかるハズがない
それぞれの言語すら分かってないヤツに
その特性の差なんか分かるはずがない

↓こんなことを自信満々で書いてる低学歴知恵遅れだからな

37 名前:デフォルトの名無しさん (ワッチョイ f94f-yqSl)[sage] 投稿日:2018年09月22日(土) 01時42分06秒64 [深夜] ID:16ZpsTnK0 [2/24] (PC)

> void show_all(void)

なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?
さらに酷いのは show_all 内でグローバル変数 address を掴んでいること。
普通は void show_all(tag_address* ta) だよ。
そうじゃないと複数のリストがあったときに使い物にならないだろ。
0111デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 14:09:51.43ID:PGp2AKzL0
たとえば夜間バッチが動いて
エラーが発生する

ID:16ZpsTnK0 ← こういうヤツに
好きに作らせるとなんでエラーが発生したわからない様な
テロコードを書く

しかも無意識、そんなコード書いてもなにが悪いかもわからない

こんなヤツにコードを書かせる場合、強力な監視が必要になる
その労力に半端ないぐらいのムダが発生する
0112デフォルトの名無しさん (ワッチョイ c27c-iHci)
垢版 |
2018/09/22(土) 14:21:45.13ID:bcuOiC7Q0
ポインタは入門書読んだときは簡単と思ったけど規格書読んでみたら難しいと思ったな
例えばC++でtype punningを規格に沿った形で実現できるのか
memcpy使っても規格を見ると怪しいと聞いてもうね どうすりゃいいのよ
0113デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 14:31:58.80ID:PGp2AKzL0
むしろポインタなんかどんなアホでもすぐに理解できる
そっから先で道を誤るヤツのほうが多い

低学歴知恵遅ればっかりのこのスレみればわかるとおり
0114デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 14:37:01.37ID:PGp2AKzL0
だいたいアホはシステムというもんが分かってないからな
シンタックスをしってて、動きさえすれば
それでなんでもできるもんだと勘違いしてる低学歴知恵遅れのスクツがココだからな

低学歴知恵遅れの万能感は半端ない

低学歴知恵遅れはどんだけゴミクズでどんだけ自分が致命的に頭悪いか
その自覚がない
0115デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 14:44:01.16ID:16ZpsTnK0
>>112
unionのことならC++では「絶対に書け、でないと動きを保証しない」なんだろ。
俺はそれは糞で、C流の「つべこべ言わず書いたように動かせ」の方がいいと思ってる。

C++は「書いたように動く」事よりも、「自動的に速くなる」方を選んでる。
それでいい分野も多いが、不味い分野もある。
だから結果的に棲み分けされてしまう。

以前C++スレで出たはずだが、
俺はあの仕様の問題は、関数ごとに最適化条件を変えられないことにあると思うよ。
unionなんて触るのはごく一部の関数だし、そこだけ最適化を解ければ済むこと。
C++は「ソースはこう書くべき」なんてやってるからそういうのを認めない。
これが良くない。
0116デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 14:56:37.58ID:PGp2AKzL0
普通にunionなんか使いまくられてる

    if (::setsockopt(m_i_server_socket, SOL_SOCKET, SO_REUSEADDR, (const char *)&i_on, sizeof(int)) < 0) {
      ::perror("setsockopt(SO_REUSEADDR) failed");
      return -1;
    }

    struct sockaddr_in t_sockaddr_in;
    ::memset(&t_sockaddr_in, 0, sizeof(struct sockaddr_in));
    t_sockaddr_in.sin_family = AF_INET;
    t_sockaddr_in.sin_port = ::htons(u_port_);
    t_sockaddr_in.sin_addr.s_addr = ::htonl(INADDR_ANY);

    if (::bind(m_i_server_socket, (struct sockaddr *)&t_sockaddr_in, sizeof(struct sockaddr_in)) < 0) {
      ::perror("bind() failed");
      finalize();
      return -1;
    }


なんで低学歴知恵遅れは自分の極端に狭い了見で
すぐにしったかすんの?
0117デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 15:00:47.10ID:PGp2AKzL0
低学歴知恵遅れは低学歴知恵遅れの自覚は一切なく
自信満々でテキトーなことをいうからな
0119デフォルトの名無しさん (ワッチョイ c27c-iHci)
垢版 |
2018/09/22(土) 15:19:40.54ID:bcuOiC7Q0
>>115
C++はunionでもだめらしい なので memcpy でもそれも怪しいと
どこだっけ C++ カンファレンスなんかで出ていた話題
テストをたくさん作って開き直るしかない面がある
C99とgcc拡張ではokなんだけど
0120デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 15:39:17.37ID:16ZpsTnK0
>>119
見ての通り、俺は規格に詳しいわけではないので、
申し訳ないがそれ以上は分からん。
ただ、C++もバリバリの実用言語だから、
何らかの手段は提供しているとは思うけど。
0121デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 15:42:51.93ID:PGp2AKzL0
要するになにも知らないわけか
で、オマエはなにをしっててこのスレに書きこんでるわけ?
0122デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 15:44:50.26ID:PGp2AKzL0
つまり低学歴知恵遅れが
とりあえず行き当たりばったりのコードをとりあえず書いて
IDEでトレースデバッグならできますと

そう自己紹介してたワケか
0123デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 15:52:07.27ID:PGp2AKzL0
まさに
結果としてとりあえず動きさえすればいいという低学歴知恵遅れの思考回路といっていい

まさに地雷
0125デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 16:22:40.01ID:PGp2AKzL0
決着なんかついてない

低学歴知恵遅れのレスなんか情報価値ゼロだからな
ココまでのレスは低学歴知恵遅れの落書き
ただの低学歴知恵遅れのノイズ

オレのエレガントな回答(>>82-83)に質問したヤツが
このあとどう考えることができるかがココでは重要なワケだからな
0127デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 16:53:47.18ID:PGp2AKzL0
スルーじゃない

オレのレスは一切のスキがないほどカンペキなレスだからな
オレのレスにレスすらできない
0133デフォルトの名無しさん (ワッチョイ 62f3-coYL)
垢版 |
2018/09/22(土) 21:03:12.63ID:1VdbYLFX0
>>40
> とにかく、 void がクソだというのは取り下げる。

いや、voidはクソだぜ
K&R Cでは「引数が0個でなければならない」とか
「返却値は使用禁止」といった概念がなかったので
(void) のようなシュールな構文を後付けせざるを得なかったが
() で引数0個にならないというクソルールを上塗りする形で登場したものだ
クソルールの延長はずっとクソだ
0134デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 21:04:50.64ID:PGp2AKzL0
ぜんぜん違う
プロトタイプ宣言を厳密にできるようにしてるだけだからな
0135デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 21:08:08.86ID:PGp2AKzL0
昔のCはプロトタイプ宣言すらなかった
引数の数や順序の誤りがかなりのバグの温床になってたからな
0136デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 21:13:19.69ID:PGp2AKzL0
やっぱりな低学歴知恵遅れは
なにも知らないくせにテキトーなことばっかりいうのがよくわかる

低学歴知恵遅れが二匹以上あつまると
ものすごい頭悪いレスに対してでものすごい頭悪いレスで
スレが成立することになる
0137デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/22(土) 21:31:49.36ID:16ZpsTnK0
>>133
それについては、ここにいる大半の初心者も含め、
・CコードをC++コンパイラでコンパイルする
で解決出来るだろ。
当たり前だが問題になる仕様は修正されているし、
C++と非互換部分に当たったらその時に考えろ、でいい。

勿論C自体の仕様が変更される方がいいが、それをここで言っても意味無いし。
C++98辺りまでは(C++03もか?)完全上位互換だったはずだし。
0139デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 21:36:45.21ID:PGp2AKzL0
オマエはその初心者にすら到達してない
その自覚がない

基本的なことすら分かってないくせに
しょうもないエイリアシングの受け売り日記読んで
それでなにか分かった気でいるワケだからな
0140デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 21:37:45.25ID:PGp2AKzL0
いやオレが書いてることはなにも間違ってない
なにも書かなかったら int 返す関数にされてしまうからな
0141デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 21:40:18.41ID:PGp2AKzL0
ホントに低学歴知恵遅れは
なにも分かってないらしいわ
0142デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 21:41:46.14ID:PGp2AKzL0
低学歴知恵遅れが
ムリして頭いいふりしようとしても
頭悪いのなんかすぐにバレるからな

残念なことに

本人は気付いてないかもしれないが
いちいち頭悪いですと自己紹介するからな

残念なことに
0143デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 21:44:28.90ID:PGp2AKzL0
まともな教育を受けているば
低学歴知恵遅れセンサーの感度はよくなる

レスみれば
コイツ低学歴知恵遅れとすぐに分かるワケ

コレはマジな話だからな

低学歴知恵遅れにはそういうセンサーは内臓されてない
そいつ自体が低学歴知恵遅れだからな
0145デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 21:57:20.87ID:PGp2AKzL0
なんで全角で書くの?
0148デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 22:01:07.16ID:PGp2AKzL0
半角のほうが横文字が見た目冗長じゃなく読みやすいから
行あたりの情報量が多く視認性もよい
0149デフォルトの名無しさん (ワッチョイ 62f3-coYL)
垢版 |
2018/09/22(土) 22:05:35.54ID:1VdbYLFX0
>>141
ホントに青二才は
なにも分かってないらしいわ

青二才が
ムリしてベテランのふりしようとしても
ニワカなんかすぐにバレるからな

残念なことに

本人は気付いてないかもしれないが
いちいち頭悪いですと自己紹介するからな

残念なことに
0150デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 22:06:57.06ID:PGp2AKzL0
相当悔しいらしい
0151デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 22:08:38.78ID:PGp2AKzL0
しかしな
キミラが相当頭悪いというのは
間違いなく事実だからな

残念なことに

その自覚がないのが相当致命的であるだけであってな
0152デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 22:11:26.83ID:PGp2AKzL0
ID:1VdbYLFX0 ← コイツは低学歴低知能底辺の高齢ITドカタ

オレぐらいのレベルになると
レスでだいたい社会的特徴まで
概ね推認できるようになる
0153デフォルトの名無しさん (ワッチョイ 2e81-coYL)
垢版 |
2018/09/22(土) 22:12:31.90ID:AEsgMTAW0
>>148
始まった頃のパソコン通信だと、
アルファベットとカタカナしか使えなかったっけ
一度これをやってみてくれないか?
本当に行当たりの情報量が多く、視認性が良いか確かめてみて
0154デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 22:14:43.13ID:PGp2AKzL0
漢字がないと読みづらいにきまってるだろ
頭悪いの?
0155デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/22(土) 22:16:23.82ID:PGp2AKzL0
KANJI ga naito yomizurai ni kimatterudaro
ATAMA WARUI NO?
0164デフォルトの名無しさん (ワッチョイ 469f-3QZN)
垢版 |
2018/09/23(日) 01:34:39.73ID:s92HkKLC0
すごい。もうこんなに書き込みが増えているなんて。さすが>>18
まさかこんなにすごい釣り名人がこのスレに現れるとは思わなかった。
0165デフォルトの名無しさん (ワッチョイ 469f-3QZN)
垢版 |
2018/09/23(日) 02:16:32.82ID:s92HkKLC0
>>160
ああ。名言だね。
0166デフォルトの名無しさん (ワッチョイ 469f-3QZN)
垢版 |
2018/09/23(日) 02:18:19.58ID:s92HkKLC0
>>161
お久しぶりです。
0167デフォルトの名無しさん (ワッチョイ 42eb-Lcjh)
垢版 |
2018/09/23(日) 02:46:55.57ID:NZFTE96P0
まあ、質問者は運が悪かったかなーとは思う。
「俺の言ってることが正義」「それを理解できないのはお前が悪い」
みたいな教え方は、初心者にとっては助けにならないんだよね。教師としては(ry

ポインタがあまり理解できてない、という時点で、初心者スレ(C/C++室)に
誘導してあげた方が、初心者と同じ目線でのレスがもらえたかもだ。
0168デフォルトの名無しさん (ワッチョイ c964-vX2D)
垢版 |
2018/09/23(日) 03:20:49.83ID:D4/zD5nR0
>>17
なるほどね……。
いやGNU LibCは過去互換性やらいろいろで
ややこしそうな印象がある一方で
Musl LibCはC99対応を謳ってる新規プロジェクトだから
取り組みやすいかなと思ったんだけど

やっぱり知名度が低いライブラリは避けるべきよね
0171デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/23(日) 10:29:46.37ID:2VtMIRxv0
>>167
ゆとり死ね。だからお前らは駄目なんだ。

まあ俺はゆとりとついでにさとりも殺処分するしかないと再認識したがな。
ここはどんなクズでも手取り足取り教えてもらえる学校のような場所ではない。
読者参加型ですらなく、全員参加型の場所なのだから、改善はお前自身で行わなければならない。
(これは社会も同じ。理解出来ないのはお前が学生またはその程度だからだ)

不味いパン屋に文句を言ったところでパンが美味くなることはない。
美味いパン屋を自分で建てるか、誘致するか、自分で探して買いに行くなりしなければならない。
その結果、不味いパン屋は倒産し、美味いパン屋だけが繁盛して残る。
結果、社会全体で見ればよりおいしいパンを手に入れられるようになる。改善するわけだ。
ここも同じだ。

他人のレスに文句を言っても何も変わらない。
良いレスを自分でするなり、適切なスレが他にあるのなら誘導するなり、
改善する活動は自分自身で行わなければならない。
お前らはこれを全くせず、文句しか言えない。だからゆとりが集まっても何も改善しない。
これは、長期的に日本を悪くして行っている。

教え方を知っているつもりなら、何故お前が教えてやらない?
他の良いスレを知っているのなら、何故そこに誘導してやらない?
この点において、何度も言っているが、半角君の方がまだましだよ。
彼は少なくとも自分で改善しようと試みてる。

不味いパン屋を出店することが法的に規制されていないのと同様、
ここでは下手くそなレスを連発することも規制対象にならない。
なら、自分がより良いレスが出来ると思うのなら、何故やらない?
お前らは根本的に考え方がおかしい。
だから文句を言われるのだが、それが何故かも理解出来てないだろ。
0172デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/23(日) 10:30:10.73ID:2VtMIRxv0
話は簡単だ。相手より良いレスで相手のレスを「上書き」すれば良いだけだ。
おいしいパン屋が結果的に不味いパン屋を蹂躙するのと同様、
お前のレスが下手くそなレスを蹂躙すればいいんだよ。
もっとも、どのレスに価値があるかは読者が判断することであって、
お前らみたいにわーわー騒いで勝ち、という幼稚園児レベルの話でもないがな。

質問者、或いは同様の事で悩んでいる奴らは、全部のレスを読むだろう。
その結果、「このレスのおかげで理解出来た」というのは自然に発生していく。
それが勝ち負けに対する一票であり、その投票で勝ち負けは決まる。

この点において、俺がお前らに「負ける」事は絶対にあり得ない。
お前らは何ら「役に立つ『可能性』のある」レスをしていないからだ。
他人に文句しか言っていない。
自分の候補を持ってないから、お前らが勝つことは原理的にない。

ここで、『可能性』に言及したのは、これこそが改善の原動力だからだ。
お前らも、自分のレスの方がいい『可能性』があると信じるなら、どんどんレスをすれば良いんだよ。

この点において、半角君自身は彼のレスこそが至高であり、俺のレスなんてゴミだと信じているわけだから、
当然俺のレスを貶す。
まあ必要以上に粘着されているが、彼が俺を貶すのは、この点において理に適っている。
それが行儀がいいかどうかは、読者の判断に委ねればいい話だ。
もし彼のレスで「分かった!」となる奴がいたら、彼の勝ちでいいわけだし。

そしてこの点において、お前らには本来は文句を言う権利もない。
お前らは俺のレスを上書きする為の「お前ら自身のレス」がないのだから。
俺は俺のレスがある。半角君は半角君のレスがある。これでレースは成立する。
お前らにはレースに出走するレスすら存在しない。当然レースには参加出来ない。
お前らはこのことも理解出来ない馬鹿なんだよ。
だからゆとりは死ねといわれる。これも妥当な話だ。
0173デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/23(日) 10:31:15.69ID:2VtMIRxv0
俺は>>18に必要なのはIDEであって、話はそれからでいいと思うぞ。
そして今の判断では、18はプログラミング向きではないから、止めた方がいいと思うし、
それ以前に何の為にプログラミングしてるか謎なのだが。
学校の勉強として出てくるプログラミングを先に予習するつもりなら、止めとけ。
数学と物理を勉強しておいた方が、結果的にプログラミングの学習は早い。
だから学校の勉強を頑張っておいた方がいい。
0177デフォルトの名無しさん (ワッチョイ 22f9-xOzC)
垢版 |
2018/09/23(日) 12:28:32.40ID:A0stA7Ax0
>>18は悪くないのに、とばっちりを受けたようなもんだね。
初心者なら別に珍しくもないレベルの疑問や理解不足なのに、たまたま答えた奴が自分のミスを指摘されたことに逆上して他のところに八つ当たりをしているだけのように見える。
0179デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/23(日) 13:07:20.90ID:2VtMIRxv0
>>176
ゆとりはマジで死ね

だからそれはお前自身がまず役に立つレスをしてから言え。
そしてそれが本当に役に立つのなら、誰がどういうレスをしようが話はそこで終わる。
質問者はそのレスだけでおなか一杯になるし、それで十分だからだ。
他人のレスにどうこう言う話ではない。

そもそもここで他人に期待するのが間違っている。
各自は勝手にレスするだけ。
回答する自由もあるし、無視する自由もある。勝手なことを述べる自由もある。
お前は根本的に勘違いしている。自分でやらないといけないんだよ。

そもそもお前は何故回答しなかったんだ?
それを棚に上げて、お前は何を言ってるんだ?
お前が正しく回答すれば、それで終わった話ではないのか?

ゆとりがいくらいても何も改善しない。だからゆとりは殺されるべきなんだよ。
正しく理解して死ね。

お前らより、半角君のほうが数段ましだ。
彼が100人いたら、100通りの回答は出てくるだろうし、どれかは当たるだろう。
お前らが100人いても、文句ばかり言って、誰も何も回答しない。何も改善されない。

そもそも、>>72が回答になっていると思う馬鹿共は、>>36のソース読んでないだろ。
それでどうしてそんなに強気で批判出来るのか。頭おかしいとしか思えないぞ。
72の「直接的回答」では18の手助けにはならない。
少なくとも、それで解決する奴なら、そんな引っかかり方はしない。

俺の回答は、「色々間違ってるから納得いくまでIDEでステップ実行しろ」だ。
これ以上の回答が出来るつもりなら、やれば良いだけだ。何故それをしない?
そして、半角君はそれをやってるだけだ。お前らより数段ましだ。
0180デフォルトの名無しさん (ワッチョイ 469f-coYL)
垢版 |
2018/09/23(日) 13:23:18.60ID:s92HkKLC0
>>178
そうだね。「レスってなんですか?」みたいな。
0181デフォルトの名無しさん (ワッチョイ 469f-coYL)
垢版 |
2018/09/23(日) 13:34:52.85ID:s92HkKLC0
ゆとりと言えば現在52歳以下の大半はゆとりなわけで、ほとんどゆとりがゆとりを叩いているだけだ。目糞鼻糞を笑うみたいな感じ。
50代も20代の頃には「新人類」とか呼ばれていた。おそらくそう呼んでいた側も若い頃は色々言われていたんだろう。
いつの時代も歳よりは若い者に難癖を付けて嫌がるものだ。自分のお株がどんどん奪われて行ってしまうからな。
若いやつを嫌がるようになったらもうほとんど終わったと思った方が良い。

https://ja.wikipedia.org/wiki/%E3%82%86%E3%81%A8%E3%82%8A%E4%B8%96%E4%BB%A3

ゆとり世代

 ゆとり世代(ゆとりせだい)とは、ゆとり教育(ゆとりきょういく)を受けた世代のこと。

定義・範囲

ゆとり世代については明確な定義、範囲はなく諸説ある。

 小中学校において2002年度施行(高等学校は2003年度)の学習指導要領による教育を受けた世代(1987年4月2日 - 2004年4月1日生まれ)。

 小中学校において1980年度以降(高等学校は1982年度以降)の学習指導要領による教育を受けた世代。1966年度生まれ以降。
0184デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/23(日) 15:20:08.05ID:2VtMIRxv0
>>181
> 現在52歳以下の大半はゆとり
まずお前は算数からやり直した方がいい。

> いつの時代も歳よりは若い者に難癖を付けて嫌がるものだ。自分のお株がどんどん奪われて行ってしまうからな。
これは違う。
というか、ゆとりはこの方法でもっとゆとり批判の陳腐化を仕掛けるのが常だが、これは間違いだ。

いつの時代も、最近の「天気」「若者」「言葉」はおかしい、と言われてきた。これは事実だ。
ただ、ゆとりの場合、逆に
> 自分のお株がどんどん奪われて行ってしまうからな。
これがないから批判されてる。

教育システムは単調増加で整備されていく。
先生も教材もこなれてくるからだ。
先生は先生なりに努力はしており、上手い教え方が見つかれば共有されていく。
(それの最たる物が予備校だったわけだが)
勿論クズ教師もいるが、それ以外が大半だから、全体的には改善していく。

プログラミングにおいては、無料IDEが何種類も普及し、言語も選べるようになった。
PC(実行環境)が家にあるのは当たり前になった。
家で実行する術もなく、無料IDEもなく、C言語しかなかった時代はほんの15年前だ。
それからすると雲泥の違いだ。

だから、『同じ努力をしたとき』同じ年齢で比較すれば、常に実力は 新世代 > 旧世代 の図式が成り立つ。
よって、いつの時代も、実力は 旧世代の今 >>> 新世代の今 > 旧世代(新世代と同年齢時) だった。
これが、
> 自分のお株がどんどん奪われて行ってしまうからな。
に繋がる。繰り返すが、これは『同じ努力をしたとき』の話でしかない。
0185デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/23(日) 15:20:35.45ID:2VtMIRxv0
問題は、ゆとりは努力をしてきてないことだ。
だから、これが成立しない。ゆとりが叩かれているのは、ひとえに、旧世代から見て、
「昔の俺より明らかに酷くね?」と思えるからだ。
逆に言えば、それ以前の若者批判は、
「最近の若者は酷い」「じゃあお前の若い頃はどうだったんだ?」「…(いや確かに酷かったわ)」で済んでた。
それがゆとりは成立しないから叩かれてる。つまり、
「ゆとりは酷い」「じゃあお前はどうだったんだ?」「さすがにこんなんじゃなかったよ!」なわけだ。
(勿論、飲みニュケーションなんて意味無いし糞ウゼエとは俺も思ってたから、
ゆとり(というより新世代)の価値観に共感出来る面はあるにしても)

プログラミングでも同じだ。
環境は圧倒的に新世代の方が上だから、旧世代の『当時の』実力に追いつくのは圧倒的に楽だ。
それは旧世代の成果だが、新世代なのだから有り難くそれを享受すればいい。
東工大含め、各学校がシラバスを上げているのもそういう流れだ。
そしてその後の新々世代は、さらにそれを享受し、新世代をも凌駕する速度で学習すればいい。
そうやって世の中は回っている。

だから新世代は旧世代を凌駕してくれないと困るんだよ。
ゆとりはこれがないから叩かれてる。
お前らが思っているのと逆なんだ。
0186デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/23(日) 15:21:23.36ID:2VtMIRxv0
2chについては、システムを長いこと変更していない。
結果、このシステムではこうしかならない、という点に収束している。
死ね、ウンコ、おっぱい、良くも悪くもこのスレ以外も同じだろ。

現状、文句を言っている奴は、全く改善に繋がるレスが出来ていない。
他人に文句だけ言って、自分では何もしない、典型的クレクレ君だ。
そしてお前らはクレクレ君をちゃんと飼え、回答だけしろという。
そういうスレは2chにはないだろ。
理由は簡単、そんなスレは面白くもなく、当然のように潰れるからだ。
ここら辺を理解も出来ないからゆとりは馬鹿にされる。
お前らが望む物は、今のお前らのやり方「文句を言うだけ」では絶対に手に入らない。
お前らが直接参加して、お前らが思う『正しい回答』をするしかないんだよ。

だから、「C言語ゆとり専用スレ」が繁盛すると思うのなら、やってみればいい。
俺はそっちには行かない。これは約束する。
そしてそのスレが繁盛し、このスレが過疎って落ちるのなら、君らの勝ちでいい。

そうやって、おいしいパン屋が不味いパン屋を駆逐するのと同様、
良いスレが悪いスレを駆逐することにより、全体的に板が次第に改善されていくものなんだよ。
これは2chにこだわる必要もなく、
stackoverflow/teratail/知恵袋/はてな等、好きなところを自分自身で盛り上げればいい。
そうやって、2ch自身が過疎って死ぬのなら、2chは役割を終えた、となる。
この、改善に向けての一歩は自分自身のレスで行うしかないし、それ自体が一票になる。
そしてその投票結果が繁盛/過疎、ということになる。
0187デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/23(日) 15:22:30.79ID:2VtMIRxv0
だから何度も言っているが、他人のレスにけちを付けるのではなく、
「俺ならこうだ!」みたいなレスをするべきだし、
それをしてないうちは、他人のレスにけちを付ける筋もないんだよ。
そしてこれまた何度も言っているが、半角君はそれをやってるし、
彼にとっては彼の回答こそが大正義なのだから、俺のレスにけちを付けるのも筋は通っている。
だから、お前らも、まずお前らの大正義回答を見せてから、俺のレスにけちを付けるべきなんだよ。

ゆとり批判にフォーカスして論理をすり替えるのもお前らの常套手段だが、
お前らがゆとりであることが問題なのではなく、こういった筋を理解していないから批判されてて、
理解出来ないのはゆとりだから、とされてるわけだ。
結果、ゆとりは死ね、で大体あってるからゆとりが叩かれてる。
ゆとりの行動が批判されているのであって、それはお前らが変われば済む話なんだよ。

ここでの話なら、何度も言っているが、お前ら自身が大正義な回答をして見せろ。
そしてそれが質問者にとって本当に役立つのなら、そこで話は終わる。
俺がどんな糞レスをしようと、質問者は俺のレスなんて無視して終わりだ。
お前らはそれをせずに、文句だけしか言わないから批判されてる。
それをちゃんと理解して、社会参加しろ。(ここでなら回答しろ、ということ)
0188デフォルトの名無しさん (ワッチョイ 469f-coYL)
垢版 |
2018/09/23(日) 15:48:30.78ID:s92HkKLC0
必死だな。長すぎて読む気が起きん。パッと見C言語とも関係なくスレチなようだし。
0191デフォルトの名無しさん (ワッチョイ 6e5b-onpN)
垢版 |
2018/09/23(日) 16:18:10.25ID:MC3A3QT40
>>190
本質は捉えてると思うけどいろいろ省略はしてるよ。
0194デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/23(日) 16:35:24.60ID:2VtMIRxv0
>>189
おーご苦労様。(俺に言われたくはないだろうけどさ)

まあそれで君なりのベストアンサーがその図だというのはそれでよし。
晴れて君はレースに出走出来、俺を貶すにしても筋が通るというわけだ。
君自身も回答を控えていた点から、直球回答は意味無いと考えていたわけだし、
マジで>>72が役立つと思う馬鹿はちょっと色々考えた方がいいぞ。

君が認めるかどうかはさておき、
良くも悪くも今君が作った図はインターネット上を彷徨うことになる。
そしてこれは次世代への蓄積となり、次世代はもっと効率よく学習出来るようになる。
君は未来に対して貢献したのだから、褒められるべきだ。
こういう、各自の努力の蓄積によって今の社会は成り立ってる。
学生の本分は学業だと言うのなら、社会人の本分は社会だ。
社会人はこれを認識し、社会に対して責任を持たなければならない。
0195デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/23(日) 16:47:50.83ID:2VtMIRxv0
>>189
そして詳細確認したが、「今回向け」に書いている点が惜しいな。

単方向リストで before を使うのは筋が悪い。
だからその図は今回には役立つが、ある意味『間違った』蓄積であり、
確実に『正しい』ものによって淘汰され、君の努力はいつか無駄になる。
そしてこういうミスリードを誘った「C言語本格入門」の著者は腹を切って詫びるべき、となるわけだ。

可能であれば君自身で修正し、ブログでも立ち上げてそこに貼り付けるか、(quitaでもいいか?)
ブログやってるが図がない奴に勝手に送りつける等、残す努力をするべきだな。
まあそちらの自由だが。
0197デフォルトの名無しさん (ワッチョイ 6e5b-onpN)
垢版 |
2018/09/23(日) 17:17:52.45ID:MC3A3QT40
あーうざい
>>189は今後もプログラミングを続けるべき18のためのもの。
長文くんの回答はハードモードで入門者の役に立たない。
この段階でダブルポインタとか頭おかしい。

>>196
うーん、ごめん無理。もう疲れた。
0199デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/23(日) 19:25:09.48ID:2VtMIRxv0
>>197
> この段階でダブルポインタとか頭おかしい。
そもそも二重ポインタが難しいってのがもう無理なんだよ。
ただのポインタと二重ポインタの難易度で大差はない。
それだとジャグ配列も理解出来ないだろ。

まあそれでも君は君なりにイージーモードの回答をしたつもりな点はいい。
それで俺の回答がハードモードすぎると批判するのも正しい。
他の馬鹿共もこいつを見習って何か回答してから文句を言え。
そうしないと何も改善しないんだよ。
そしてそれがお前らゆとりが最悪な点でもある。

なお、俺の回答は既に最初から何度も繰り返しているが、「IDEを使え」だ。
18は何が分かってないかすら理解出来ていない。
それを君も理解してるから、君も直球回答しなかったわけだろ。
だから俺の回答は、「IDE使って納得いくまでステップ実行しろ」になる。
ただし36のソースはゴミだから、わざわざステップ実行するなら41か44にしろ。
そして47が何故高速になるのか考えろ、というわけだ。

あと、君は『ゆとりスレ』を率いれる可能性がある。
他のゆとり共には回答出来るだけの知能がないから無理だったが、君にはあるようだから。
俺が気に入らないならスレ立てて頑張れ。他のゆとりも応援してくれるだろう。
俺はそっちには行かないことも約束する。
それで君たちだけで上手く回せるのなら、それが一番いいし。

そしてその程度で疲れるものだと理解出来たのなら、
俺やお前の上司や先輩がどれだけお前らゆとりの為にエネルギーを費やしてきたかを理解し、
感謝しつつ、お前も後輩の為にエネルギーを費やせ。
(上司や先輩に返す必要はない)
0201デフォルトの名無しさん (ワッチョイ 22f9-xOzC)
垢版 |
2018/09/23(日) 19:51:24.73ID:A0stA7Ax0
>>200
自分の無知を指摘され、いったん素直に指摘を認めことができたけど後から後から突っ込まれ、怒りの矛先を他人に向けて自分を納得させようとしているのだと思われる。
カッコ悪い姿をさらし続けていることに自覚が無いらしい。
0202デフォルトの名無しさん (ワッチョイ 2260-9U/T)
垢版 |
2018/09/23(日) 19:59:31.31ID:pZmr8c6F0
>>199
>ただのポインタと二重ポインタの難易度で大差はない。
それは、あなたの理解の仕方が、二重ポインタの難易度の差を感じない、というだけであって、
他の人にとっては、ただのポインタと二重ポインタとで、難易度に差が出る可能性はあります、というか、それが普通だと思います
0203デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/23(日) 20:03:40.44ID:2VtMIRxv0
>>201
違うぞ。お前はそういうことにしたいようだが。

>>200
まじめに聞きたいのなら答えてやるが、その前にお前が答えるに値することを示せ。
具体的には、>>189を見習って、お前なりのベストアンサーを出して見せろ。
そうでなければお前は文句しか言わない典型的クズゆとりでしかない。
それをちゃんと自覚しろ。
0204デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/23(日) 20:08:41.92ID:2VtMIRxv0
>>202
何度も言っているが、俺のレスが難しすぎるというのなら、
お前がより簡単なレスをすれば良いだけだ。お前は何故それをしない?
>>189を見習え。

だからお前らゆとりは死ねって言われるんだよ。
0206デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/23(日) 20:19:56.90ID:2VtMIRxv0
>>205
それは俺に言ってるのか?

ならばお前も根本的に勘違いしている。
流れがおかしいと思うのなら、お前が流れを正すレスをすれば済む。
他人のレスを期待するのは間違いだ。

お前には違う受け方も見えていたのなら、お前が横レスで受ければいい。
俺が横レスについて文句を言うことはない。
そして指摘の通り、俺はそっちには受けなかった、これはその通り。
しかし、どっちに受けるかは勿論本人の自由だ。
そして、放置された話題を続けたいと思うのなら、お前が横受けすれば済む。

勝手にやれよ。俺は参加しないが。
0208デフォルトの名無しさん (ワッチョイ 469f-coYL)
垢版 |
2018/09/23(日) 21:59:52.18ID:s92HkKLC0
>>200
やはり何かのスイッチが入っちゃったんだろうなあ・・・
0211デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/23(日) 23:49:09.60ID:cRG95Xcq0
低学歴知恵遅れは質問には答えられないくせに
こういう質問と一切関係ない話題にだけは
とても強い関心があるのがよくわかるわ

しかも質問したヤツはこのスレを見てるとは到底考えられない
不毛な低学歴知恵遅れたちの争いだけがひたすら続く
0213デフォルトの名無しさん (アウアウウー Sa25-dz4b)
垢版 |
2018/09/23(日) 23:55:00.19ID:x91orYN2a
>>209
と言うか、レス先が分からなかった通りすがりだが、LLみたいなどんな型にもなれるって意味でvoid使えるは使える。
Java のキャリー地獄みたいになるから推奨はされてないが。
0216デフォルトの名無しさん (アウアウウー Sa25-dz4b)
垢版 |
2018/09/24(月) 00:27:00.84ID:rSek34EXa
まだレスが少ないならともかく、全部は読まんw
0217デフォルトの名無しさん (アウアウウー Sa25-dz4b)
垢版 |
2018/09/24(月) 00:28:36.24ID:rSek34EXa
流石に全部は読めんw
ただ、元を読む限りただの引数なし関数やね。
0219デフォルトの名無しさん (アウアウウー Sa25-dz4b)
垢版 |
2018/09/24(月) 00:37:29.32ID:rSek34EXa
くう。。。
今からだとあぼーん多過ぎていまいち。。。

新旧の文法上だと言うのは何となくわかった。
まさかautoでは無かろうが。
0225デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/24(月) 23:35:26.40ID:/Z9skFPV0
>>224
普通はcarとcdrで再帰降下して、重複を取り除く為にアホみたいにN^2/2回比較して終わり。
この単純実装で十分だと思うけどね。メモリ食うけど。
そのサイトの実装は、速そうには見えないけど、メモリは食わないね。
0228デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/25(火) 19:20:45.10ID:A0N9+kL10
>>226
Cでその態度はグーで殴られるだろう。

なお225、再帰時に毎回sortして重複枝を刈れば、列挙後の比較は不要となりメモリは食わない。
ほぼ224と同じになるが、これが最速でもっとも簡素な気がする。
224は単純に全降下ではなくswapして降下先を選んでいるが、これの利点はよく分からん。
0231デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/25(火) 22:37:56.77ID:Ig86RmNy0
OSの体系的な質問で申し訳ないんですけど
VisualStudioで作ったC言語の計算アプリがあるんですけど
これはMacでも動くんでしょうか?
それともMacにいったんVisualStudioをインストールしないと駄目なんでしょうか?
聞くに、C言語は低級言語なので動かないOSはない、C言語自体が完全ネイティブ環境
だとも聞いたのですがどうでしょう?
0232デフォルトの名無しさん (ワッチョイ 2e81-coYL)
垢版 |
2018/09/25(火) 22:42:03.59ID:1135EyDF0
コマンドラインで起動するコンソールアプリで
C言語の標準的関数しか使っていないなら
ほぼそのまま動かせると思いますが、
Windows固有のAPI使っている場合は
手直ししないと無理かと思います
0235デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/25(火) 22:50:44.42ID:Ig86RmNy0
>>232
うん???www
WindowsAPIってのはC言語で実装されてるから問題ないのでは?
0237デフォルトの名無しさん (ワッチョイ 2260-9U/T)
垢版 |
2018/09/25(火) 23:06:10.30ID:CZcrESgD0
>>235
>WindowsAPIってのはC言語で実装されてる
win32api(≒WindowsAPI) は C から呼び出せるようになっているのではありますが、
win32api の実体が存在するかどうかは、また別の話になります
mac にて windows 向けのコードを実行させるための手段があるかどうかは、私にはよくわかりません
(wine とかが移植されているのですか?)
0238デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/25(火) 23:09:30.90ID:Ig86RmNy0
>>237
WindowsAPIを書いてる言語はバイナリってことですか?
0240デフォルトの名無しさん (ワッチョイ 42d2-MW2F)
垢版 |
2018/09/25(火) 23:18:38.51ID:SjmRGAva0
CPU
OS
ソースコード
実行ファイル
ライブラリ
API
この辺の理解がごっちゃになってるな
もしくは釣り
0242デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/25(火) 23:37:13.97ID:Ig86RmNy0
>>240
釣りではないです
大学では
バイナリ→アセンブリ→C言語→WinAPIやJava→高級言語(DirectXなどのライブラリ)
→統合環境(VisualStudio)
の順番で言語規模が高性能化するって習いました

高級言語→C言語にするには実行環境が必要ですが
そもそもC言語であるならば、OSが直接読み込める形であるのだから
どんなOSでも動くという理解です。

間違っていますか?

大学でしないといけないのはプログラミングではなく言語体系についての
理解をレポートにしなきゃならないので
0244デフォルトの名無しさん (ワッチョイ 6175-yLbS)
垢版 |
2018/09/25(火) 23:42:20.18ID:AGUJmjmE0
>大学では
>バイナリ→アセンブリ→C言語→WinAPIやJava→高級言語(DirectXなどのライブラリ)
→統合環境(VisualStudio)
>の順番で言語規模が高性能化するって習いました

どんな教育だよ...
0245デフォルトの名無しさん (ワッチョイ 22f9-xOzC)
垢版 |
2018/09/25(火) 23:46:38.07ID:J8LSZpTD0
>>242
その言語や環境の並び、ざっくりしすぎというか突っ込みどころ満載でどこから訂正していいか困るレベルだよ。
テキストや教師がもんだいなのか、君がの理解不足でおかしなまとめ方をしてるのか…
0246デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/25(火) 23:46:38.88ID:xp1IDT0a0
訂正するのがめんどいぐらいいっぱいまちがってる
0247デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/25(火) 23:53:43.26ID:Ig86RmNy0
>>246
どこらへんが間違ってますか?
間違いは財産です。教えてください。
0249デフォルトの名無しさん (ワッチョイ 6175-yLbS)
垢版 |
2018/09/25(火) 23:55:06.09ID:AGUJmjmE0
>高級言語→C言語にするには実行環境が必要ですが
「そもそもC言語であるならば、OSが直接読み込める形であるのだから
>どんなOSでも動くという理解です。

C言語は各マシンそれぞれのCPUやOSに対応した適切なコンパイラとAPIでコンパイルしないと動きません。
0250デフォルトの名無しさん (ワッチョイ 22f9-xOzC)
垢版 |
2018/09/25(火) 23:57:02.58ID:J8LSZpTD0
>>242
まったく自分でプログラミングしてないなら実感沸かなくて当然なのだろうけど、その課題意味あるのかな。

それはともかく。
Cで書いたプログラムならどのOSでも 動く訳ではない。
Cで書かれたコードはOSぎ直接理解できるわけではない。そこでCのコードをOS上で実行できるコード(君の分類ではバイナリ)に変換する作業がいる。
その際、ターゲットとするCPUに合わせたコードに変換するから、違う種類のCPUの環境では動かない。
また、OSに関する機能は全部を自分の生成するプログラムに内包する訳ではなくて、OS側ですでに用意してあるプログラムを呼び出すだけだから、他のOSに自分のプログラムを持っていったら、呼び出す先のプログラムが存在しないので実行できないことになる。
0251デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/25(火) 23:58:21.66ID:Ig86RmNy0
>>249
正しいのでしょうがよく分かりません
C言語のほうが低級なのに、高級のWinAPIでコンパイルするんですか?
矛盾してるような…
WinAPIはコンパイルされる側のような…
0252デフォルトの名無しさん (ワッチョイ 22f9-xOzC)
垢版 |
2018/09/26(水) 00:02:36.99ID:HESLqYz40
>>251
前提の理解が間違っているというか、APIが何者かまったくわかっていないよね。

winAPIはwindowsが予め用意してくれている機能で、一般のプログラマがコンパイルするものではない。
自分のプログラムをコンパイルするときに、くっ付けて使わせてもらうもの。
0254デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 00:05:27.24ID:I4Gvy1+q0
すいませんまったく理解できなくてすいません
低級言語っていうのは、できることは単純だが速度が速いという認識です。
バイナリになると一切無駄が無いので実質、最速の言語だということも知っています。
APIという高度な機能をもってC言語をコンパイルするというのがなぞすぎます。
すでに単純な命令を何故コンパイルという時間のかかる処理を施すのでしょうか?
0255デフォルトの名無しさん (ワッチョイ f94f-yqSl)
垢版 |
2018/09/26(水) 00:06:52.76ID:HY3LojxY0
>>242
> 大学では
お前の大学の講義資料のURLを晒せ。
今時の大学なら(学外から見えるかはさておき)普通は上げてるだろ。

おかしいのがお前の頭か講義資料か先生かは切り分け出来る。
0256デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/26(水) 00:08:13.65ID:nZ7x0XR+0
まずいまどきアセンブラなんか手書きでなんか書かない
C言語をコンパイルするとアセンブルしてしてアセンブラをコンパイルする
すると実行モジュールができる(コレがチミがバイナリと読んでるものになる)

WinAPIやDirectX APIはOSが提供するアプリケーションインターフェースになる
それをさっき書いたC言語から利用することができる

で、C言語に限定されないが、そういった開発を
知恵遅れでもできる環境を提供するのがIDEとよばれるものだ
当然、viでコードやmakefileをシコシコ書いてコンパイルするのもありだが
今時いちいちそんなめんどいコトやってるヤツは希少種といっていい

とりあえず今ココではJavaはおいとく
0257デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 00:09:35.96ID:I4Gvy1+q0
なんか根本的な事を教えてくれて泣けてきます
wiki見ても端折ってばかりで理解できなかったんで嬉しいです
でもそれでも分かりません…
0259デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 00:11:25.00ID:I4Gvy1+q0
知恵遅れでもできる環境

僕が使ってるのはCygwinとVisualStudioですね
学校の課題はCygwin推奨ですが、何故かVisualStudioも入れられましたw
0260デフォルトの名無しさん (ブーイモ MM62-Nssn)
垢版 |
2018/09/26(水) 00:13:32.35ID:OuxizmKlM
>>257
まず、windowsAPIはC言語等の関数として提供されてるのはわかる?
そんでその関数のソースコードは公開されていない。だから、自分が書いたソースコードだけをmacに持っていってもソースコードが足りないので動かない。

仮にソースコードを手に入れたとしても、内部でwindowsのカーネル(コアとなるソフト)だけが提供している機能を利用使って実装されているから、やはりmacに持ち込むことはできない。
0263デフォルトの名無しさん (ワッチョイ 6175-yLbS)
垢版 |
2018/09/26(水) 00:17:32.29ID:h9A6ffHl0
オレが書いたC言語のプログラムを機械語に変換すればようやくコンピュータで実行できるようになります。

APIは既に機械語に変換されているか、オレの書いたC言語と一緒に機械に変換されてからオレの機械語と結合して使われます。
0264デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 00:17:40.67ID:I4Gvy1+q0
>>260
まったく分かりません
WinAPIがC言語が混ざったらもう何がCでAPIなのか
もうわけわかりません
0265デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/26(水) 00:18:24.20ID:nZ7x0XR+0
で、javaはコンパイルするとバイトコードに変換される
で、そのできあがったバイトコードはJavaVM(コレがチミがバイナリと読んでるものになる)で動かすことができる
昔のpascalのpコードのパチモンと考えればいい

そっから、さらに進んでバイトコードをjitコンパイラでコンパイルするしくみもあったりする
それ使うと実行モジュール(コレがチミがバイナリと読んでるものになる)ができてしまったりもする
ただ、その実行モジュールはターゲットマシンでないと動かない

で、当然、javaもeclipseみたいなIDE使って開発できる

わかった?
0266デフォルトの名無しさん (ワッチョイ 42d2-MW2F)
垢版 |
2018/09/26(水) 00:18:39.07ID:ZP32HEFJ0
>>254
低級・高級(Low-Level/High-Level)は
言語体系がハードウェア実装=CPUに近いか
人間語に近いかどうかの話で
性能とは一切関係がない
(という話は確実に教科書に書いてあるはず)

CPUはバイナリしか解釈しないから
どんな言語を使ってもコンパイル作業が要る
0268デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 00:23:21.36ID:I4Gvy1+q0
>>266
C言語は言語の中では最速だというのは教科書に書いてましたよ
0269デフォルトの名無しさん (ワッチョイ 2e81-coYL)
垢版 |
2018/09/26(水) 00:24:33.00ID:T1RBGvug0
>>264
Cで書いたソースの多分先頭付近に並んでいると思う
#include で始まる行の部分だけでも公開してみて
WindowsAPIの為に入っている行を取り除けば
(このままではコンパイルエラーになるかも知れないが)
Wacに持っていく入り口にはたどり着ける
0270デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/26(水) 00:26:15.28ID:nZ7x0XR+0
たとえばmacで
WinAPIと同じインターフェースもつ同じ機能のAPI(書くことができるかどうかは別ににして)を
Cで書くとmacでwindowが動く

時間があるならついでに
なんで、POSIXというもんがあるか調べてみるといい
0271デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 00:26:28.94ID:I4Gvy1+q0
>>269
#include<stdio.h>
int main(void)
{
〜中身〜
}
です。
int main
stdio.h
の二つはおまじないと聞きました
0272デフォルトの名無しさん (ワッチョイ 2e81-coYL)
垢版 |
2018/09/26(水) 00:31:29.48ID:T1RBGvug0
>>271
ホントにそれだけなら、そのまま
Macに持って行けるんじゃないか?
あとはMac側でコンパイラが使えるかどうか、だな
VCでないと困る事ある?
MacでやるならXcodeと言うのを使った方が良いように思うが
0273デフォルトの名無しさん (ブーイモ MM62-Nssn)
垢版 |
2018/09/26(水) 00:32:08.86ID:OuxizmKlM
最初にWindowsAPIなんて言い出したやつは出てこい!!

  ドッカン   ゴガギーン
    _ ドッカン  ☆
===( )   /
`∧∧_||___ ∧∧
(  )|||   |(Д`)
f  ⌒~ ||   ||  \
|  / ̄ |   |/| / /
|  |  | ヘ/\|_/ /
|  | ロ|ロ\/\(_ノ)
( (_ \ |   | Y /
| ||\ ヽ|   | ||
| || / / |   | ||
| ||/ /_|___| ||
(_(_)     (__)
0274デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/26(水) 00:32:38.48ID:nZ7x0XR+0
そういうコードだったら
macでコンパイルしなおせば
普通に動くハズ
0275デフォルトの名無しさん (ワッチョイ 22f9-xOzC)
垢版 |
2018/09/26(水) 00:33:06.80ID:HESLqYz40
>>268
C言語が速いんじゃないんだよ。
C言語で書かれたソースをコンパイルして生成されたバイナリコードが速いんだよ。それはCPUが直接実行できる形式だから。
別に他の言語でも、コンパイルしてバイナリコードが生成できるものは、本質的にはCと同じ。

遅いのは、バイナリコードを生成せずに、その言語固有のコードを生成して、それを別のプログラムが解釈しながら実行するようなタイプの言語だよ。例えばJAVAのような。(実行時コンパイルとかはこの際おいておく)
0277デフォルトの名無しさん (ワッチョイ 42d2-MW2F)
垢版 |
2018/09/26(水) 00:34:42.00ID:ZP32HEFJ0
>>268
それは教科書がおかしいか誤読してると思われる
「現代の高級言語の中では最速のバイナリをビルドできることが多い」
とかならまあありだが
0278デフォルトの名無しさん (アウアウカー Sae9-s2i8)
垢版 |
2018/09/26(水) 00:37:18.40ID:3GYry5Z9a
OSによって動くコード(アセンブリ)が違う

CでもC++とかで書いたコードをコンパイルする時にその対象のOSで動くように機械語に変換される
なので同じCやC++のコードでもコンパイルできれば動くプログラムが作成できる

しかし、標準ライブラリ以外はその対象OS用に用意されていない場合もあるのでそういうライブラリを使用した場合コンパイルが出来ない
0280デフォルトの名無しさん (ワッチョイ 42d2-MW2F)
垢版 |
2018/09/26(水) 00:38:29.20ID:ZP32HEFJ0
てかレポート出すような講義で「おまじない」で済ますもんなのか最近は
最初の質問もexeをそのままMacに持っていって動きますか?だったのかも
0281デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/26(水) 00:43:17.15ID:nZ7x0XR+0
cygwin入ってると書いてあった
きっとgccもはいってるハズ
手動でコンパイルすればすぐに実行モジュールができるハズ
0282デフォルトの名無しさん (ワッチョイ 469f-coYL)
垢版 |
2018/09/26(水) 00:45:01.24ID:9UO6BO9+0
>>231
標準入力やファイルからテキストのデータを読んで計算してから標準出力またはファイルに出力するような
ほとんど計算しかしないようなやつなら何一つ変えずにコンパイルできる可能性がある。
しかしGUIで入力を受け付けてGUIで結果表示みたいな作りの場合はその部分だけMacに合わせて変更する
必要があると思う。(もし互換性のあるライブラリがあるのであればそれをリンクすればなんとかなるが)。
0284デフォルトの名無しさん (ワッチョイ 2e80-tQZR)
垢版 |
2018/09/26(水) 01:37:55.43ID:P+3GV8ah0
バイナリは、各CPU に固有のもの。
intel・AT&T では逆に書く

; for intel syntax
mov eax, 1

# for AT&T syntax
mov $1, %eax

これらを抽象化する層、仮想アセンブラのLLVM ができた

C → LLVM → 機械語
0285デフォルトの名無しさん (ワッチョイ c964-vX2D)
垢版 |
2018/09/26(水) 02:25:42.64ID:p8TYnMT50
テキストファイルを#includeしたりするのっておもしろそうと思った。
#include "file.txt"
使い道がほとんど思いつかんけど。
正規化されたcsvファイルなら有用かもしれない。
0286デフォルトの名無しさん (ワッチョイ 469f-coYL)
垢版 |
2018/09/26(水) 02:56:13.26ID:9UO6BO9+0
>>285
XPM や XBM フォーマットの画像ファイルは中身がテキストファイルでC言語になっているので、
プログラム中で使いたい時に #include で読むなんてことを昔やった事がある。
今でも画像を編集するソフトではそういうフォーマットに対応しているのがあるかも知れない。
あったら画像をファイルに保存後に中身をテキストエディタで見てみると良い。

XBM
http://sei.qee.jp/docs/graphics/xbm/index.html
https://en.wikipedia.org/wiki/X_BitMap
XPM
https://ja.wikipedia.org/wiki/XPM
0289デフォルトの名無しさん (ワッチョイ c964-vX2D)
垢版 |
2018/09/26(水) 04:48:38.00ID:p8TYnMT50
ていうかさ なんで
#include "file.txt"
なんていうことをやろうかと思ったかというとさ,

よくアプリケーションのオプションで--helpみたいなオプションがあってそれを指定すると
標準出力にヘルプ情報を吐き出すじゃない。
で,普通それを実現するには,print_help()関数みたいなのを作って
その中で
puts("Usage: xxx [-dx] <file>...");
↑こういうのをずらずら書きならべると思うんだよ。
http://git.savannah.gnu.org/cgit/hello.git/tree/src/hello.c#n127←こんな風に。
で,そのヘルプファイルを外部ファイルにできないかな〜と思ってさ。
print_help() {
puts("
#include "help.txt"
");
return 0
}
こういう感じで。もちろんこれはコンパイルエラーになるけど。
0291デフォルトの名無しさん (ワッチョイ 2ee8-IBuP)
垢版 |
2018/09/26(水) 07:02:15.89ID:KRhEkOMN0
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;;  #include "file.txt"
  ヾ;;;ハ    ノ       .::!lリ;;r゙
   `Z;i   〈.,_..,.      ノ;;;;;;;;>  そんなふうに考えていた時期が
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f.   俺にもありました
   ~''戈ヽ   `二´    r'´:::. `!
0297デフォルトの名無しさん (アウアウカー Sae9-rLjT)
垢版 |
2018/09/26(水) 09:48:26.11ID:QtvShas/a
>>292
かといって argv[0] って必ずプログラムファイルへのフルパスの文字列になってる保証はないよな?
UNIX系OSだとexecに渡す引数は実行するプログラムへのパスとargvの配列は別に指定できるしシェルは自身がログインシェルとして起動されたかどうかをargv[0]利用して判別してるし。
0304デフォルトの名無しさん (アウアウカー Sae9-rLjT)
垢版 |
2018/09/26(水) 17:10:26.81ID:dsR47lxwa
>>301
argv[0] が "-" だったらどうするよ。
0309デフォルトの名無しさん (アウアウカー Sae9-rLjT)
垢版 |
2018/09/26(水) 17:35:54.43ID:dsR47lxwa
XPMやXBMみたいなテキストなんだろ
0310デフォルトの名無しさん (オイコラミネオ MMc9-KkRk)
垢版 |
2018/09/26(水) 17:36:31.54ID:cOtTFh6NM
>>305
file.txt を C の文字列にした file.c なり file.h なりを作る簡単なスクリプトなり書いて、make ファイルでそれが動いて取り込まれるようにすりゃいいんじゃね。

usage:
-h help
-u unko

みたいなテキストを
#define USAGE "¥
usage:¥n¥
-h help¥n¥
-u unko ¥n¥
"

みたいな define か何かにすればいい。
0312デフォルトの名無しさん (ワッチョイ c1ea-CZft)
垢版 |
2018/09/26(水) 17:40:44.37ID:lDpRvfaq0
>>308
(Windowsの話)
ライブラリを作ってるときに、そこで使いたかったんだが(ImageList)
リソースというわけにもいかず、ファイルを読み込むのもライブラリ化の意図からずれるし で
埋め込んだのよ

簡単に肥大化するから筋が悪いのは半分承知
0315デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 20:19:36.31ID:I4Gvy1+q0
WindowsAPIを機械語にするソフトを機械語にするソフトを機械語にするソフトを…
って考えたらまた頭が混乱してしまいました…
0317デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 20:29:26.48ID:I4Gvy1+q0
CのコンパイラはWinAPIでしかかけないってことですか?
0319デフォルトの名無しさん (アウアウカー Sae9-rLjT)
垢版 |
2018/09/26(水) 20:43:53.50ID:MrbR9bENa
>>315
まずはWindowsAPIとは何なのかを調べろ。話はそれからだ。
0320デフォルトの名無しさん (ワッチョイ c964-vX2D)
垢版 |
2018/09/26(水) 20:45:37.17ID:p8TYnMT50
>>310
にゃるほど。
まあ それでもいいんだけど,結局変換の手間があるんだよね。
しかし一度でも.hか.cファイルを作ったらあとはそれを#includeすれば
複数のファイルに使えるってのは有用かもしれん。
Usageでは↑複数には適用できないけど,ライセンスとか。
0323デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 21:40:12.24ID:I4Gvy1+q0
>>321
CをコンパイルするのはWindowsAPIって昨日聞きましたが?
C自体では動かないのだからWindowsAPIでコンパイルするのでは?
0328デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 22:09:29.37ID:I4Gvy1+q0
コンパイラはWindowsAPIの実装を知ってる人じゃないと作れないってことですか?
よくコンパイラ入門なんて本あるけど作れるんでしょうか?
0331デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 22:33:54.33ID:I4Gvy1+q0
WinAPIはインターフェースだけを提供していて実装は分からない
つまりコンパイラを考える人はMicrosoftの開発者だけってことですか?
それだとコンパイラ入門ってどういうことなんでしょうか?
0334デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 22:44:12.95ID:I4Gvy1+q0
すいません
正直話すと
レポートってのは2年のとき落とした履修で
今は卒論でコンパイラ作りたいんです…
つまりダブルということになります…
0339デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 23:04:55.14ID:I4Gvy1+q0
>>336
例えばprintf関数のアセンブリは
どのOSだろうが一緒なんですか?
0343284 (ワッチョイ 2e80-tQZR)
垢版 |
2018/09/26(水) 23:12:49.78ID:P+3GV8ah0
>>284
ここに書いた

バイナリ・機械語は、各CPU に固有のもの。
intel・AT&T では逆に書く

開発者は、各CPU 毎にプログラミングできないから、
仮想アセンブラのLLVM ができた
0344デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 23:15:29.87ID:I4Gvy1+q0
>>342
ちょっと複数のPC勝ってアセンブリ確認してみますw
例えばWindows98とWindowsMEとかでも厳密に言えば
アセンブリが違うかもしれないってことですよね
0346デフォルトの名無しさん (アウアウウー Sa25-xOzC)
垢版 |
2018/09/26(水) 23:23:11.54ID:VlfJEAqXa
>>334
コンパイラがそもそもどんな物かも分かってないんだから、コンパイラを作ろうなんて考える前に、コンパイラを使ってごく普通の簡単なアプリケーションプログラムを作って何をやってるのか理解しなよ。
studioやmainがおまじないだとか言ってるレベルで無謀過ぎるぞ。
0348デフォルトの名無しさん (ワッチョイ f1e9-7de5)
垢版 |
2018/09/26(水) 23:29:31.07ID:I4Gvy1+q0
>>346
なんか分かりました
コンパイラっていうのは9割型共通のルールのpushやmoveでかけるアセンブラ
をOS向きにさらに改良するってことでしょうか…
自分でprintfのアセンブラを書いてコマンドプロンプトで実行してみます
さて何行になるやらですが
0350デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/26(水) 23:44:08.19ID:nZ7x0XR+0
オマエ、分かってて
このスレの低学歴知恵遅れをおちょくってるだろ
しかもちゃんと罠もしかけてる

オマエが思ったとおりこのスレの低学歴知恵遅れはちゃんと答えれない

まずこのこのスレの低学歴知恵遅れは
実行モジュールがどういったもんか分かってないからな
0351デフォルトの名無しさん (ワッチョイ c980-yqSl)
垢版 |
2018/09/26(水) 23:49:25.75ID:nZ7x0XR+0
レスをみても分かるとおり
低学歴知恵遅れはなにも分かってないくせに
分かってるふりするのが精一杯

低学歴知恵遅れ特有のレスをしている

オマエは低学歴知恵遅れを陰湿にいじめてる
0352284 (ワッチョイ 2e80-tQZR)
垢版 |
2018/09/26(水) 23:59:09.60ID:P+3GV8ah0
そもそも、Windows だけでも、64/32 ビットCPU で、
CPU の命令の、サイズ・種類などが異なる

i3, i5, i7 など高額・高機能になるほど、
3D・動画のコーデック命令なども付け加えられているから、処理速度は速くなる

そういう命令がないCPU では、ソフトウェアで実行されるから、すごく遅い
0353デフォルトの名無しさん (ワッチョイ 5780-q1nr)
垢版 |
2018/09/27(木) 00:12:48.47ID:pq96CSzd0
きっとなこのスレの低学歴知恵遅れは
PEフォーマット、EXEフォーマットとかも知らない
Windows APIがDLLの関数であることも分かってない

この低学歴知恵遅れは
コンパイルしたソースをマシンコードにしたものだけが格納されてると思ってる
レスみればほぼ間違いない
0354デフォルトの名無しさん (ワッチョイ 5764-u1F+)
垢版 |
2018/09/27(木) 00:16:16.06ID:GWQb325r0
まーた半角クンが湧いちゃったじゃないか。
変な正確でも,言うことが正しければいいんだが,
こいつの話は間違った無根拠なものばっかりだからなぁ……。
0355デフォルトの名無しさん (ワッチョイ 5780-q1nr)
垢版 |
2018/09/27(木) 00:17:47.16ID:pq96CSzd0
じゃあオマエが質問にオマエが答えてみ
オレは常にスキがないほどカンペキなレスしか書いてないからな
0356デフォルトの名無しさん (ワッチョイ 5780-q1nr)
垢版 |
2018/09/27(木) 00:18:53.88ID:pq96CSzd0
まずこのスレにいるような程度のヤツラではムリ
はっきりといえる
0357デフォルトの名無しさん (ワッチョイ 5780-q1nr)
垢版 |
2018/09/27(木) 00:21:06.23ID:pq96CSzd0
こういとこでもな
低学歴知恵遅れであることは隠せない
0359デフォルトの名無しさん (ワッチョイ 5780-q1nr)
垢版 |
2018/09/27(木) 01:21:44.64ID:pq96CSzd0
質問してるヤツの質問が
このスレにいるような低学歴知恵遅れには高度すぎた

しょうがない
0363デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/09/27(木) 12:40:10.03ID:U92lHhY6a
>>330
この話の元は>>292なのでどうすんのかなと思ってな。
0365330 (ワッチョイ 7748-aemA)
垢版 |
2018/09/27(木) 16:30:52.70ID:Zeo03I1R0
>>363
おまえ304か?
strcmp(argv[0], "-") == 0のときに
printf("%s", argv[0]); を実行した場合は
- と出力されるのが何かまずいのかと聞いているんだ
答えてくれ
0369デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/09/27(木) 18:25:58.92ID:0MoXCxtia
>>365
usageの意味がなくなるのでは?
そんなもん気にしないってなら別にいいんだけどね。
0370デフォルトの名無しさん (ガックシ 068f-NXNJ)
垢版 |
2018/09/27(木) 18:52:27.42ID:v62G+4TD6
ADI法(ノイマン境界条件)って具体的に何をすればいいのかさっぱりわからない
そもそも2次元領域(0,L)^2での計算ってCプログラム上でどう構成すればいいんだろう…1次元はなんとかなったけど
0372デフォルトの名無しさん (ワッチョイ 97e9-DIZe)
垢版 |
2018/09/27(木) 19:30:25.34ID:+bSAjOWL0
今日アセンブリを作ってコマンドプロンプトで動かしてみましたが無反応です
moveとかのアセンブリはコマンドプロンプトは読み込めないんですか?
0373デフォルトの名無しさん (ササクッテロル Sp4b-MQF+)
垢版 |
2018/09/27(木) 19:30:51.34ID:etRlHd3dp
https://i.imgur.com/Pg8FdUT.jpg


Helloしか出力されないんですけど、どうすれば治りますか?
0390デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/09/27(木) 20:28:13.50ID:0MoXCxtia
左上の黄色と緑の点かな?
0392デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/09/27(木) 20:29:31.61ID:0MoXCxtia
リロードせずにゆっくり書いてたらほとんど同じ書き込みが既にされていたorz
0393デフォルトの名無しさん (ワッチョイ 5780-q1nr)
垢版 |
2018/09/27(木) 21:28:23.17ID:pq96CSzd0
最後に
fflush(stdout);
と書けばきっと出力される

やってみ
0397デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/09/28(金) 09:31:20.28ID:ctzrbTkBa
>>394
だってコマンドの使い方の説明にならないじゃん。
0399デフォルトの名無しさん (ワッチョイ 5764-u1F+)
垢版 |
2018/09/28(金) 13:21:05.27ID:TLhVFQk50
somecmdというアプリケーションがあったとして
Usage: somecmd [--option] <file>...
こういう出力を
printf("Usage: %s [--option] <file>...\n", argv[0]);
まあこういう感じ(もうちょっと変数やらをはさむかも知れんが)で出力するときに
argv[0]がsomecmdじゃない場合がけっこうあるってことじゃないの?
そしてそういう場合にUsage: ...の形式が壊れるんじゃないか,と。
0401デフォルトの名無しさん (ワッチョイ 5764-u1F+)
垢版 |
2018/09/28(金) 13:23:29.81ID:TLhVFQk50
しかし俺が思うのは,そういう場合にはたして--helpを参照するかな。
argv[0]!="somecmd"の場合ってmain関数を他のプログラムから呼び出すとかそういう場合でしょ。
その時は,そのプログラムのUsage: ...が欲しい訳だから結局somecmdのUsage: ...なんて出力する必要ないでしょ。
0402デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/09/28(金) 13:24:49.39ID:6mi1IA73a
>>398
え?もしや - というコマンド作った場合の話?

そういうことではなくて argv[0] は起動する側が自由になんでもセットできるからコマンド名になってる保証はないという話だよ。
まあ普通のシェルから起動する場合には大丈夫だろうけど、環境によっては何も入ってないかも知れないし保証はできない。
0406デフォルトの名無しさん (ワッチョイ 378a-DshI)
垢版 |
2018/09/28(金) 14:22:34.06ID:X1M2oU/e0
> 二つの仮引数を定義する場合,関数 main の仮引数は,次の制約に従わなければならない。
>- argc の値は,非負でなければならない。
>- argv[argc]は,空ポインタでなければならない。
>(中略)
>- argc の値が正の場合,argv[0] が指す文字列は,プログラム名(program name)を表す。
> ホスト環境からプログラム名を得ることができない場合,argv[0][0] は,ナル文字でなければ
> ならない。
JIS X3010:2003 5.1.2.2.1

だそうです。
0407デフォルトの名無しさん (ワッチョイ bfd5-E/Y9)
垢版 |
2018/09/28(金) 16:10:35.86ID:mp2jkAzV0
argv[0] にはパスも含まれ得るし、シンボリックリンクから起動されれば実体の名前ではなくなるけど、usage にコマンド名としてコマンドライン上のコマンドパスを表示したいの?
0409デフォルトの名無しさん (ワッチョイ 171d-aemA)
垢版 |
2018/09/28(金) 17:16:02.91ID:08RUBfsA0
       ゴガギーン
             ドッカン
         m    ドッカン
  =====) ))         ☆
      ∧_∧ | |         /          / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (   )| |_____    ∧_∧   <  おらっ!出てこい>>382
     「 ⌒ ̄ |   |    ||   (´Д` )    \___________
     |   /  ̄   |    |/    「    \
     |   | |    |    ||    ||   /\\
     |    | |    |    |  へ//|  |  | |
     |    | |    ロ|ロ   |/,へ \|  |  | |
     | ∧ | |    |    |/  \  / ( )
     | | | |〈    |    |     | |
     / / / / |  /  |    〈|     | |
    / /  / / |    |    ||      | |
   / / / / =-----=--------     | |
0412デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/09/28(金) 18:46:59.61ID:a9B9WfnIa
>>409
きっとシベリア鉄道に乗っていてまだ家に着いていないのだろう。
0416デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/09/28(金) 19:05:03.12ID:a9B9WfnIa
>>410
UNIX系OSでは compress, gzip, bzip2, xz とかの圧縮コマンドが自分が何のコマンドで動かされたかによって動作変えてるね。
同じ実行形式のバイナリを例えば gzip なら gunzip にリンクしておいてそれを実行すると gzip -d と同じ動きになる。
0433デフォルトの名無しさん (ワッチョイ d74f-q1nr)
垢版 |
2018/09/29(土) 19:17:50.68ID:oiqQJDSj0
>>429
今現在Cを使う理由は、以下しかない。
1. 最速のコードが欲しい
2. 最小のコードが欲しい
3, 他言語では出来ないほど細かく指示したい
4. 既存のCプロジェクトの継続

てゆうかマジで理工系であらかじめCを使うと分かり切っている奴以外は、
初心者がCを選択する理由はないから止めとけ。
あと、ここでこれまでやってた「動く/動かない」レベルのやりとりは、
大学の授業の先生や同級生に聞いた方が圧倒的に早いからそうしろ。
0434デフォルトの名無しさん (ワッチョイ 9f60-+gc+)
垢版 |
2018/09/29(土) 19:20:43.09ID:vBAQmIFc0
>>433
C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために
さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが
簡単に生産されるようになってる。正直いって、C を選ぶ理由が C++ プログラマーを
追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。

C++ はトンでもなく悪い設計の元になりうる。どうせこの言語ではいつも STL やら
Boost やら、その他ゲロゲロベロベロの「素敵な」ライブラリの機能を使って、
それがあんたのプログラムに「役立つ」んだろうが、以下のことが起きる:

- うまく動かないときにもたらされる際限のない苦痛 (あと STL とか、特に Boost が
安定してるとか移植性があるとかいう奴は、どいつもこいつも大ウソつきで、
もはや笑えるレベルを超えている)

- 非効率な抽象プログラミングモデルで、2年たった後にこれらが実はそんなに
効率的じゃなかったことに気づくケース。でもそのときにはすでに全部の
コードがその素晴らしいオブジェクトモデルに依存していて、直すためには
アプリ全体を書き直さなきゃなんない。

言いかえれば、唯一まともで、効率がよくて、システムレベルで使えて、移植性がある
C++ ってのは、基本的に C で使える機能だけに限ったときなんだ。そして C だけに
限定するってことは、他の人がそれをめちゃくちゃにしないってことで、
ついでに沢山のプログラマが実際に低水準の問題を理解することができて、アホらしい
「オブジェクト・モデル」のたわごとを持ちこまないってことだ。
0436デフォルトの名無しさん (ワッチョイ d74f-q1nr)
垢版 |
2018/09/29(土) 19:34:28.70ID:oiqQJDSj0
>>434
俺はLinusの意見には同意だぞ。
ただ、それはC++が糞だと言っているのであって、Cがいいと言っているわけではない。
そして、俺が初心者に勧めるのはLL言語だ。(Ruby/Python/JavaScript/(PHP))
これらにはインタプリタ環境がある。それだけで初心者には全然違う。

それ以前に、型等の恩恵を受けたいのならC#の方が断然良い。
というか、後発言語はC言語の駄目な点を改良してきているのだから当然いろいろ優れている。
C++もこれに含まれる。だからC++も『正しく使えば』いい言語だ。
当たり前だがほぼ上位互換な訳でね。


>>435
ああ、それなら、以下を付け加えておこう。
5. C以外の環境がない
0437デフォルトの名無しさん (ワッチョイ 5764-u1F+)
垢版 |
2018/09/29(土) 19:48:34.77ID:PPHj/b7C0
#if 0
って今となっては不要だよね。
なぜならフレームワークを適当に設定することで開発用と製品用のコードを分離できるようになってるから
VCSでブランチ切ってもいいし。
0438デフォルトの名無しさん (ワッチョイ d74f-q1nr)
垢版 |
2018/09/29(土) 20:04:11.39ID:oiqQJDSj0
>>437
https://stackoverflow.com/questions/3630601/why-use-if-0-for-block-commenting-out/3631513
要するにブロックコメントをブロックでコメントアウトするのに便利、だそうな。
ルールでなら // に統一しろ、とか言われる所だな。

(VCSというか)今はGit全盛だが、勿論それらもなかった頃からCは全面的に使われていたので、
今となっては古い(原始的)と思える機能も沢山ある。
これは古い言語の宿命だからある程度致し方ない。
コーディングルールでも「あれは白黒ディスプレイの為の物」と言われているものあるだろ。
0440デフォルトの名無しさん (ワッチョイ 9740-K3KX)
垢版 |
2018/09/29(土) 22:38:18.17ID:gtdSXLh90
forthって組み込み系でもう使ってないの?
0448デフォルトの名無しさん (ワッチョイ bf9f-aemA)
垢版 |
2018/09/30(日) 19:56:21.83ID:KPqVv5wd0
とりあえず昔のC++みたいにC言語へのトランスレーターで作っとけよ。
0451デフォルトの名無しさん (ワッチョイ 9740-K3KX)
垢版 |
2018/09/30(日) 20:25:52.96ID:CSkWhxVk0
sedとかで十分なことでもgoでパーサ使う人はいるな
0452デフォルトの名無しさん (ワッチョイ f79f-ZVm4)
垢版 |
2018/09/30(日) 21:41:15.10ID:ZDEBOTA70
質問です。
ソースが公開されてないライブラリを使用していまして
その中に特殊なファイルを読み込む関数があります。
事情があってその特殊なファイルを暗号化して保存したいのですが
暗号化してしまうとそのライブラリの関数から直接読み込めません。
暗号を解除する関数を通してそれが一時ファイルを吐けば可能ですが
大量にあるので出来ればもっと良い方法があればそれを採用したいと思っています。
例えば暗号解除後そのままメモリをファイルの様に扱う等は出来ないでしょうか?
よろしくおねがいします。
0456デフォルトの名無しさん (ワッチョイ 17b3-RKQ0)
垢版 |
2018/09/30(日) 22:21:51.99ID:6gTyS6vx0
そのライブラリの特殊なファイルを読み込む関数のインターフェースはファイル名を求めているのだろうか?
それともファイルへのハンドルを求めているのだろうか?

前者と仮定してうまく凌ぐ方法はあんのかな? 名前付きマッピングオブジェクトかなんか?
0467デフォルトの名無しさん (アークセー Sx4b-uZyL)
垢版 |
2018/10/01(月) 09:33:21.48ID:UNHR2HPsx
メモリマップトファイルが使えれば良いんだけど、バイナリ提供内部でファイル名で直接CreateFileしちゃってるなら難しいんじゃないかな?
俺が知らないだけでうまい方法があるかもだけど。
0470デフォルトの名無しさん (ワッチョイ 9f02-aemA)
垢版 |
2018/10/01(月) 12:02:16.95ID:qsdLJDx40
ファイルマッピングだって、結局はディスク上のファイルイメージをメモリにキャッシュするだけだぞ
ライトバックキャッシュなので「書き戻せ」というコマンドを自分では書かないから
何か特殊なもののように誤解されやすいが、
ハード的にCSやWEがチャネルコマンドに変換されるとかそういうことは一切ない
0473459 (ワッチョイ f79f-ZVm4)
垢版 |
2018/10/01(月) 12:26:59.19ID:0BEK1cUt0
みなさんありがとうございます。むずかしそうですね…
ファイルの仕様も公開されてないので自分で描き直すのもむずかしいです…
理想的な流れとして以下のように出来ればいいのですがむずかしいのですかね…
1 暗号化したファイル読み込み
2 暗号解除
3 メモリに元ファイルとして生成
4 ファイル名を元ファイルを読み込む関数に渡してメモリ上のファイルを読み込む
0478デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/10/01(月) 13:15:50.57ID:yvyswmJaa
>>473
RAMディスクなら速いだろうけど普通のファイルシステムとアクセス方法は同じだから普通にディスクにファイル作っても同じだよ。
そのディスクがSSDならば正にRAMディスクだしな(ちょっと遅いかも知れないが)。

そのファイルは本当にRAMディスクのような高速アクセスできるようなファイルシステム上に作らねばならないものなのか?
0479デフォルトの名無しさん (ワッチョイ f79f-ZVm4)
垢版 |
2018/10/01(月) 13:19:01.59ID:0BEK1cUt0
>>475-477
みなさんありがとうございます。
要件としては元のファイル自体が公開されているライブラリで読み込めてしまうのでそれを防止したいんです。
ようは簡単に読み込めなく出来ればいいだけなんですね。
>>473でも一応メモリ内に復号後のものが実体化されちゃいますがとりあえずこれが出来ればいいかなと。
もう少し自分でも色々調べてみます。
0481デフォルトの名無しさん (ワッチョイ f79f-ZVm4)
垢版 |
2018/10/01(月) 13:24:04.57ID:0BEK1cUt0
>>478
なんというか単に目に見えるところに作りたくないというだけなんですね。
原理的には読めちゃうんだと思いますがとりあえず素で通常のディスクに書き出すよりは少しはマシかなと。
0484デフォルトの名無しさん (ワッチョイ f79f-ZVm4)
垢版 |
2018/10/01(月) 13:40:12.23ID:0BEK1cUt0
あとRAMDiskについては使用者のPCに勝手にそういう領域を作っても問題ないのかも気になりました。
アプリが終了すれば常に確実に領域がクリアされ解放されればいいんですが何かのアクシデントで残ってしまわないかとか。
もうちょっと自分でも色々考えてみます。
0490デフォルトの名無しさん (アウアウカー Saab-6oYK)
垢版 |
2018/10/01(月) 19:43:43.06ID:3ZN7cetya
パス名経由でしか読み込めないんだからありもので対処するならOS経由の手段に限られる
クソライブラリに手を加えられないなら自作するかramdiskで我慢するしかないよ
0496デフォルトの名無しさん (ワッチョイ 5780-q1nr)
垢版 |
2018/10/01(月) 23:58:25.83ID:zfKNS/F/0
CreateFileMappingにわたすCreateFileのファイルハンドルは
すでにファイルシステムと関連付けられたファイルハンドルになる

メモリならINVALID_HANDLE_VALUEを渡す

ドキュメントにしっかり書いてあるのに
相変わらず低学歴知恵遅れは
口からデマカセの頭悪いテキトーなことばっかりいってるわ。。。
0497デフォルトの名無しさん (ワッチョイ 5780-q1nr)
垢版 |
2018/10/02(火) 00:01:04.71ID:R8M7QKDK0
そもそも質問してるヤツはファイルシステムに復号化されたファイルができるのがダメといってるのに
相変わらずだわ。。。
0499デフォルトの名無しさん (アウアウカー Saab-mYIU)
垢版 |
2018/10/02(火) 00:24:37.79ID:69sVZg4Ka
この流れで初書き込みだけどソースが公開されていないで思いどうりに読み込めないのであれば自分で実装したほうがいいんじゃね
バイナリモードで読み込めばいいんじゃないの
0500デフォルトの名無しさん (ワッチョイ ffe9-WJev)
垢版 |
2018/10/02(火) 00:31:01.73ID:Cp0nvcbE0
また自演か
0503デフォルトの名無しさん (ワッチョイ 5780-q1nr)
垢版 |
2018/10/02(火) 00:55:56.80ID:R8M7QKDK0
検討がつかない

そもそも使ってる関数のソースが未公開の前提らしいからな
中でなにやってるかなんかまったく分からんからこういう質問してるんだろうしな
きっとReadFileを呼んでるのだろうという程度のことしか分からない
それは質問してるヤツもその程度は分かってるハズ

そして、そのファイルを読み込む関数のインターフェースもよく分からない
ファイルハンドルを渡すのかファイルパス渡すとかも分からない

情報が一切ないから検討しようがないといいたいが
両方とも検討した結果、簡単ないい方法が思いつかない
別プロセスにしてCONIN$使うとかインチキくさい方法ぐらいしかパッと思いつかなかった

でな、この要件に至るまでの根本的な部分について知りたい
その暗号化したファイルを今までどうやって出力してたかという部分になる
読み込みはその操作と逆の操作をすればいいハズだからな

もし暗号化して出力するときに、平文のファイルを一時的にテンポラリに出力してから暗号化してるなら
入力するときに平文のファイルを一時的にテンポラリに出力するのは許容範囲になると言い張れれば
コレで解決する

コレでイケルハズ
0505459 (ワッチョイ f79f-ZVm4)
垢版 |
2018/10/02(火) 02:49:53.61ID:qS1Sk5MG0
みなさん色々と案をありがとうございます。
あれから自分で調べたり考えたりしてたんですが
どうにかファイルの構造を知る事が出来そうで
中身を自分で書き換える(復号化ロジック込みの読み込み関数を書く)事にしました。
非常にお騒がせしてしまいまして申し訳ございませんでした!
0507デフォルトの名無しさん (ワッチョイ ffe9-WJev)
垢版 |
2018/10/02(火) 04:42:42.21ID:Cp0nvcbE0
本当に自演が大好きなんだな
0511デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/10/02(火) 12:14:34.37ID:RjhRAQY1a
まーた自演か
0513デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/10/02(火) 13:39:01.10ID:RjhRAQY1a
自演じゃないもん
0515デフォルトの名無しさん (ワッチョイ 5780-q1nr)
垢版 |
2018/10/02(火) 20:40:47.26ID:R8M7QKDK0
ココまでオレのジエン
0516デフォルトの名無しさん (アウアウカー Saab-XaUO)
垢版 |
2018/10/02(火) 20:51:11.45ID:hjXu6C7/a
>>514
ウィザードブックってなに?
0522デフォルトの名無しさん (ワッチョイ 9f60-+gc+)
垢版 |
2018/10/03(水) 06:56:42.02ID:R1dsfyjz0
>>521
>またトリップ付けないで書き込みしたの?
>荒らしはもうやめておいた方が良いと思う

トリップつけないで書き込みするとどうして荒らしになるのですか?
というか、ほとんどの人がトリップをつけていないので、5ch は荒らしだらけ、ということですか?
0526デフォルトの名無しさん (ブーイモ MMed-m6vJ)
垢版 |
2018/10/05(金) 10:21:58.92ID:3s3m6VbBM
sleepは1秒待ってくれるとして、
前後の処理がどうしても正確に0秒でできるわけではないので誤差が溜まっていく。
定期的にシステムの時刻を見て秒の変わり目を検出するほうが正確。
0527デフォルトの名無しさん (ワッチョイ bad5-6J+Z)
垢版 |
2018/10/05(金) 10:26:30.21ID:6zSKEd8l0
>>524
これはこうすべきってことでないけど、画面を消す clear、これが何をやってるか調べると面白いかもよ。
とりあえず
clear > log
とかやって log に何が書かれてるか見てみるといい。
次に
cat log
とやると何が起こるか確かめてみるといい。
これがわかると画面を消すのに clear なんて外部コマンドを使わなくてもよくなる。
0538デフォルトの名無しさん (スップ Sd00-t0aP)
垢版 |
2018/10/05(金) 12:23:53.35ID:G8OY4AG7d
そこは教え方の上手なあなたが教えてあげれば良い事だな
0540デフォルトの名無しさん (アウアウカー Sa0a-iYeS)
垢版 |
2018/10/05(金) 12:50:15.78ID:qaFHFmCDa
>>537
それ、もういいですから。
0542デフォルトの名無しさん (ワッチョイ bad5-6J+Z)
垢版 |
2018/10/05(金) 13:01:39.72ID:6zSKEd8l0
>>533
>>527 で言ってるのは >>524 の実行とは別の話。
画面を消す方法の正体を調べる手順だから、ヒマな時にやればいい。

>>534
宣言はコンパイル時に解釈されるもので、実行時に「宣言という動作」を行っているわけじゃない。
だから実行時にかかるコストは無いから、ループの中に書いてもいい。
C は変数が見える範囲(スコープ)が { } の中になってる。
minute と second は while で回してる { } の中でしか使ってなく、かつ表示のための一時的な変数だから、それを必要とする範囲内だけで見えるようにすると分かりやすくなる。
変数のスコープは極力狭くなるように書くといいよ。
分かりやすさの点でもいいし、メモリ(スタック)の消費量も少なくなる。

正確なタイマーを作るならインターバルタイマーで調べてみるといいけど、まだそれを使えるレベルじゃないと思う。

>>536
curses ってなに?
0543デフォルトの名無しさん (アウアウカー Sa0a-iYeS)
垢版 |
2018/10/05(金) 13:03:13.60ID:qaFHFmCDa
>>534
1秒ごとに setitimer() とか使って割り込み掛かればいいんだけどね、普通のOSだとあまり正確にではないかも知れない。しかしただsleepするよりは正確だと思う。

割り込み使わないやり方で今と似ているけどましなやり方は次の処理開始時間までより正確に sleep することだ。
これは gettimeofday() でμ秒までの時刻を取得して秒が変わるまで何μ秒なのか計算して usleep() で sleep させればできる。
0550デフォルトの名無しさん (ワッチョイ 3fb3-Qng4)
垢版 |
2018/10/08(月) 11:16:41.41ID:5icYsRLJ0
H8 (3694) と秋月キャラLCD(SC1602) のI/F 関数です。

//--------------------------------------------------------------------
#include<3694.h> // CPU のレジスター定義、その他関数のプロトタイプ

struct DATA_BUS{
unsigned char NOTUSE:4;
IO.PDR8.BIT.B7;
IO.PDR8.BIT.B6;
IO.PDR8.BIT.B5;
IO.PDR8.BIT.B4;
}; // IO.PDR8.BIT.B3 は不使用

#define LCD_RS IO.PDR8.BIT.B2 // P82を LCD RSに定義
#define LCD_RW IO.PDR8.BIT.B1 // P81を LCD R/Wに定義
#define LCD_E IO.PDR8.BIT.B0 // P80を LCD Eに定義
#define LCD_DB DATA_BUS // P83〜P87 のみをLCD D4〜D7 に定義したい
//--------------------------------------------------------------------
LCD_DB に構造体の入れ子(DATA_BUS) を定義しています。この書き方で動作しますか。この関数の作者はLCD_DB にunsigned char 型で下位4ビットのみ有効なchar 型を代入していました。
0554デフォルトの名無しさん (アウアウエー Sa6a-syNg)
垢版 |
2018/10/08(月) 14:26:06.72ID:i8/5B6xca
ネットワーク系のコマンドというのが意味不明だが、socketインターフェースはある。
向いてるかといえば向いてないが、そういう低レイヤの話としては言語は何を使っても大して変わらん様な気はする。
0555デフォルトの名無しさん (アウアウウー Sab5-Gru0)
垢版 |
2018/10/08(月) 14:31:56.89ID:meeyxWTYa
REST APIなら libcurl で楽々よ
0557デフォルトの名無しさん (ワッチョイ b064-selW)
垢版 |
2018/10/08(月) 15:10:37.99ID:NcWFD+EU0
なるほどソケットっていうのもあるのか。
無知なもので「ネットワークコマンド」と言えばwgetやらcurlやらのTCPクライアントだけを指すと思ってたw
curlってコマンドだけじゃなくてlibcurlも提供してくれてるんだね。
だったらpure CでもTCPクライアントが作れそう。
0558デフォルトの名無しさん (アウアウエー Sa6a-syNg)
垢版 |
2018/10/08(月) 15:53:56.39ID:i8/5B6xca
言葉の話だけどcurlは基本的にはHTTPクライアントだ。TCPの上に乗ってる。
TCPクライアントはtelnetとかncだな。ncはUDPも行ける。
TCPも基本的には難しくないが、異常系を考え出すときりがない。
0560デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 16:56:21.14ID:SHTmPUE+0
相変わらず低学歴知恵遅れは頭悪いこといってるわ
ソケット通信でTCPプロトコルとか

オマエがソケット通信でやりとりしてんのはHTTP

ホントななんでココまで頭悪いのしかいないのか不思議
0561デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:00:43.05ID:SHTmPUE+0
トランスファープロトコルにTCP/IP使ってるといっても
きっとこのスレの低学歴知恵遅れは意味が分からない

smtpもftpもほとんどが普通にtcp/ipだからな

いまどきのnetbiosも普通にtcp/ipだからな
昔はトランスファープロトコルにnetbeuiつかってた
で、今ではnetbios over tcp/ipで
nbtとかなんとかいってる
0563デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:34:14.12ID:SHTmPUE+0
また低学歴知恵遅れが意味不明ないちゃんもんとけてるし
先にいっとくけどな
とてつもなく頭悪いこといってんのオマエだからな

まずその自覚がない
0564デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:35:52.31ID:SHTmPUE+0
pop3もtcp/ip
sshもtcp/ip
httpsもtcp/ip

きっとな低学歴知恵遅れには
なにをいってるのいかが分からないとは思うわ
0565デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:37:36.24ID:SHTmPUE+0
ホントな低学歴知恵遅れは
頭悪いことを自信満々でいうから困るわ
0567デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:47:16.60ID:SHTmPUE+0
それにすら到達してない低学歴知恵遅れが
ドヤってるスレがこの板だからな

マジで低学歴知恵遅れはこの板から排除したほうがいい
有害
0569デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:50:22.69ID:SHTmPUE+0
HTTPというのは
ハイパーテキストトランスファー プ ロ ト コ ル
だからな

ソケット通信(トランスファープロトコル意識する必要ない)で
HTTPの内容してるだけだ

わかった?
0570デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:51:32.47ID:SHTmPUE+0
ソケット通信でHTTPの内容をヤリトリしてるのすら分かってないワケだからな
ここまで頭悪いと話にならない
0572デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:52:10.92ID:SHTmPUE+0
で、低学歴知恵遅れの負けず嫌いは半端ないからな
0573デフォルトの名無しさん (ワッチョイ d980-A6IM)
垢版 |
2018/10/08(月) 17:52:42.31ID:SHTmPUE+0
これ以上語るつもりはない
0576デフォルトの名無しさん (ワッチョイ d881-t36n)
垢版 |
2018/10/08(月) 18:24:47.89ID:wTnfR6Jf0
TCP Transmission Control Protocol
IP   Internet Protocol

トランスポート層 TCP, UDP, DCCP, SCTP, IL, RUDP

似たような言葉はあるが、その表現は見つからないな
並行宇宙のどこかで使っているかもしれないが
ここではなさそうだ
0577デフォルトの名無しさん (ワッチョイ b064-selW)
垢版 |
2018/10/08(月) 18:25:27.11ID:NcWFD+EU0
あー。TCPというのはHTTPよりもう少し下層に位置する概念ってことかな?(合ってるか不安)
俺が作りたいなぁと思ったのは
$ xxx 'example.com'
とやるとブラウザでexample.comにアクセスして「ページのソースを表示する」機能を使ったときのような出力を返すコマンド。
これはTCPクライアントじゃなくてHTTPクライアントか。
0579デフォルトの名無しさん (ワッチョイ b7b3-Ww/X)
垢版 |
2018/10/08(月) 18:29:18.08ID:lYyho1IC0
「トランスファープロトコル」は星の数ほどある「〜転送プロトコル」の用語として使われるけど、トランスファープロトコル単体で使用されてるのは聞いたことないね。
きっとトランスポートプロトコルの間違い。
0581デフォルトの名無しさん (アウアウエー Sa6a-syNg)
垢版 |
2018/10/08(月) 18:42:58.85ID:i8/5B6xca
>>577
まあGETするだけだったらそれこそTCPだけでもいい。
勉強としては、HTTPサーバにtelnetしてGETコマンド(と、いくつかのヘッダ)を打ち込んでみると、イメージがつかめるのではないかと。
0588デフォルトの名無しさん (ワッチョイ 27cc-smg0)
垢版 |
2018/10/13(土) 20:15:38.78ID:mLt7ea1s0
すみません、C言語出テキストファイルの特定行を書き換えたいのですが
全て配列に読み込む→変更する→全て書き戻す
という方向しかないでしょうか。

変更前 01.txt
a=1
b=1
c=1

変更後 01.txt
a=1
b=0
c=1

こういった変更を行いたいです。
0589デフォルトの名無しさん (ワッチョイ e780-gma9)
垢版 |
2018/10/13(土) 20:23:20.71ID:L3Dj2/gz0
標準入力から1行ずつひたすら読み込む
特定行以外をひたすら同じ内容を標準出力に出力する
特定行だけ変更内容を標準出力に出力する

できた
0590デフォルトの名無しさん (ワッチョイ e780-gma9)
垢版 |
2018/10/13(土) 20:36:09.45ID:L3Dj2/gz0
aho.sh
----
#!/bin/bash
aho < 01.txt > 01_tmp.txt
mv -f 01_tmp.txt 01.txt

引数でファイル名を指定するどうでもいいことがどうしてもしたい場合は
一旦、プログラムでテンポラリファイルに書きだして
プログラムで最後にmvする必要がある
0591デフォルトの名無しさん (ワッチョイ e780-gma9)
垢版 |
2018/10/13(土) 20:51:29.26ID:L3Dj2/gz0
https://ideone.com/CYlw3P
あとはテキトーにやりなさい
0597デフォルトの名無しさん (ワッチョイ bf3a-DKnb)
垢版 |
2018/10/13(土) 23:33:28.10ID:LwGfYqlW0
>>588
UNIXならmmap()、WindowsならCreateFileMapping()を使ってファイルの内容をメモリにマップするとか。
0598デフォルトの名無しさん (ワッチョイ e780-gma9)
垢版 |
2018/10/13(土) 23:34:05.47ID:L3Dj2/gz0
書いてあることをすべてCでやりたいなら
コレでいける
ぜんぶメモリにいれる必要はない

@ 入力ファイル(01.txt)をリードオンリーでオープン
A テンポラリファイル(出力ファイル)をmktemp()で取得
B Aで取得した出力ファイルをライトオンリーでオープン
C 1行ずつ読み込んで1行ずつ書きこみ(>>591
D 入力ファイルと出力ファイルをクローズ
E 入力ファイルをremove()で削除
F 出力ファイルをrename()で入力ファイルに移動

ものすごい大きいファイルが入力ファイルになった場合対応できない
0601588 (ワッチョイ 27cc-smg0)
垢版 |
2018/10/14(日) 02:24:40.11ID:bBeuqmk90
皆さん回答ありがとうございました。
やはり処理的にはすべて触らないとダメそうですね。
>>591さんの例はfopenとか必要ないのですか。
0602デフォルトの名無しさん (ワッチョイ dfd2-7vHE)
垢版 |
2018/10/14(日) 02:31:42.91ID:VGDv0f/D0
なんとなくsedで済む話な気がする
0603デフォルトの名無しさん (ブーイモ MM0b-ZPHe)
垢版 |
2018/10/14(日) 02:52:55.98ID:xvapfCASM
>>601
ファイル入出力ストリームなら必要
あの例は標準入出力を指定してるだけ

すべて触る必要があるかはデータ構造次第
更新するデータ域をブロック分割、
ブロックマップをメタ管理とかは
バイナリなら一般的な手法
テキストだとスペースパディングで
ブロックやエントリ管理できそうだが
そんなことやってる奴は見たことない
0607デフォルトの名無しさん (ワッチョイ 674f-gma9)
垢版 |
2018/10/14(日) 09:33:04.94ID:p/Li638e0
>>602
× なんとなく
○ ほぼ確実に

「Cで」「Cで」「Cで」、初心者はCしか出来ないからそれしか考えられない。(選択肢がない)
初心者あるあるだけども。
実際これ、Cで処理されてCバイナリを引き継がされても大迷惑だし。

>>588
マジな話、上司が居るのなら上司に聞けって。これ、Cでやったら大迷惑な話だし。
聞くのが迷惑だと思っているのなら、この件については聞かない(報告しない)ほうが迷惑だ。
上司が居なくてど初心者なら、この際にスクリプト言語を覚えろ。
0612デフォルトの名無しさん (ワイモマー MMff-ytAd)
垢版 |
2018/10/14(日) 12:19:08.18ID:vwPmx6lGM
特定行の書き換えですが
・bの値を反転させたい(0なら1、1なら0)
・b=の行は複数出現する可能性がある()
・複数出現した場合は一番最後に出現した行の値を反転の対象にしたい
・書き換え後はb=の行は1行だけにしたい
・書き換え後はできれば
a=...
b=...
c=...
な感じでソートしててほしい

これはC言語で出来ますか?
どうやったらいいでしょうか?
0613デフォルトの名無しさん (ワッチョイ 674f-gma9)
垢版 |
2018/10/14(日) 13:29:01.06ID:p/Li638e0
>>612
「出来る/出来ない」なら、そりゃC言語で「出来ない」って事ははほぼ全ての事例で無いよ。
どうやったらいいか、なら、その場合は俺ならExcel使うね。規模的に無理ならシェルスクリプトを使う。
何でもCでやればいいわけではない。

そのお題を実際にCでやる事なんて無いから、練習用なら意味無いし、
本番としてそれをCでやる気なら、間違ってるから止めとけ。
0615デフォルトの名無しさん (ワッチョイ e780-gma9)
垢版 |
2018/10/14(日) 14:42:07.27ID:Q3eQCyRU0
コードの書き方みたいなこんなもんを上司に聞けとか
よくわからんが、協力会社で入ってるリーダーかなんかか。。。
すげえな、そういった会社の文化をオレは知らないが

そもそもそんなとこが未教育なゴミつれてきたら大問題だからな
必死になるのも分かるわ

で、だれでもすぐ分かってるコマンド書いてドヤ顔して低学歴もいるしな
0616デフォルトの名無しさん (ワッチョイ e780-gma9)
垢版 |
2018/10/14(日) 14:43:20.19ID:Q3eQCyRU0
この程度ならCで書いても
普通にCで書く練習になる
0619デフォルトの名無しさん (ワッチョイ e780-gma9)
垢版 |
2018/10/14(日) 14:48:35.94ID:Q3eQCyRU0
sedとsort使えばいい
0620デフォルトの名無しさん (ワッチョイ 674f-gma9)
垢版 |
2018/10/14(日) 15:12:45.83ID:p/Li638e0
>>617
お前以外のみんな出来るっての。

お前がコードクレクレ君だからみんな適当にあしらってる。
お前が努力してる(=コードを試しに書いてみたが動かない)のなら、もう少しましな回答も出るだろうさ。
0622デフォルトの名無しさん (ワッチョイ 6735-4Hut)
垢版 |
2018/10/14(日) 17:39:13.57ID:+7qWkF0t0
こんな感じでどうかな
 ・空行はそのまま出力されてしまう
 ・代入文は1行に1文のみで X=n の形式
が前提だけど

awk -F= '{if($1=="b") b=$2; else print;} END{printf("b=%d\n", xor(b, 1))}' a | sort -u
0627デフォルトの名無しさん (ワッチョイ 7f80-WnU0)
垢版 |
2018/10/14(日) 18:31:52.87ID:hWarSIQ50
Ruby で作った

text = File.read 'data.txt'

ary = [ ]; index = [ ]

text.each_line.with_index do | line, idx | # 各行・添字
line.chomp! # 末尾の改行を削除する
ary.push line # 各行を配列に入れる

# 先頭文字列が、b= なら、添字を配列に入れる
index.push idx if line.start_with? 'b='
end

return if index.empty? # 空配列なら処理なし

first = true # 最初の1回だけ処理する
index.reverse!.each do | num | # 後ろから削除するために、反転する
if first # 最初の1回だけ
first = false

case ary[ num ][ 2 ] # 3文字目
when "0" then ary[ num ][ 2 ] = "1"
when "1" then ary[ num ][ 2 ] = "0"
else # 処理なし
end
else # 2回目以降は削除する
ary.delete_at num
end
end

puts ary
0629デフォルトの名無しさん (ワッチョイ 7f81-VhFj)
垢版 |
2018/10/15(月) 02:17:02.27ID:Obfj9PeS0
>>612の内容だけど、誰も聞かないのであえて聞くけど
b=以外は何も加工せずに複数あればそのまま出力で良いのか?
その場合、ソートは=の右側の数値順にするのか、文字コード順にするのかか
データによっては、a=、c=、d=の行が多数出力される中でb=の行だけ1行になる
ってことで良いのかな?
0631デフォルトの名無しさん (ワッチョイ e780-gma9)
垢版 |
2018/10/15(月) 23:43:48.26ID:KnJWry7m0
 @ [出力A]  a=とc=を抽出(使うコマンド:grep)
 A [出力B]  b=0の1〜末尾-1行を抽出 (使うコマンド:grep|head)
 B [出力C]  b=1の1〜末尾-1行を抽出 (使うコマンド:grep|head)
 C [出力D]  b=0の末尾行を抽出し置換 (使うコマンド:grep|tail|sed)
 D [出力E]  b=1の末尾行を抽出し置換 (使うコマンド:grep|tail|sed)
 E [出力F]  [出力B]、[出力E]、[出力C]、[出力D]コンカチネーションしユニークにする (使うコマンド:cat|uniq)
 F 出力結果 [出力A]と[出力F]をコンカチネーションしソート(使うコマンド:cat|sort)

とりあえずコレでいけるハズ
あとはがんばりなさい
0633デフォルトの名無しさん (ワッチョイ e780-gma9)
垢版 |
2018/10/15(月) 23:59:03.51ID:KnJWry7m0
だけでやるとはオレは一言もいってない
使うコマンドを限定した覚えはない
0634612 (ワイモマー MMff-ytAd)
垢版 |
2018/10/16(火) 00:22:11.79ID:NB8XYwuTM
ソートはa,b,c...順です
b=以外は重複を許可します(ソート後の出現順は考慮しなくてよい)
(処理例
入力データ
c=0
a=1
b=1
c=1
a=0
b=0
出力データ
a=1
a=0
b=1
c=0
c=1
0638デフォルトの名無しさん (ワッチョイ 7f81-VhFj)
垢版 |
2018/10/16(火) 01:01:42.59ID:gETK/lfa0
bが1行しかないとうまく行かないな
ちょっと手直し

sed -e ":l; N; /b=.*b=/{;s/\nb=[01]\n/\n/1;}; $p; b l" 01.txt | sed -e "/b=1/{;s/b=1/b=x0/;};/b=0/{;s/b=0/b=x1/;};/b=x/{;s/x//;}"

並び替えはsortでやってください
0643デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/16(火) 09:23:21.39ID:HrwRMilta
いーんじゃない?
0645デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/16(火) 13:03:31.45ID:0QUQFWONa
てか、Cのスレで質問者もCでどうやるか聞いてるのに誰もCで答えてないw

ま、Cで書く気が失せる問題ではあるが。
0647デフォルトの名無しさん (ワッチョイ 078a-oHS3)
垢版 |
2018/10/16(火) 13:38:03.74ID:dIjk/xku0
C言語でやるとしたら
b=で始まる行以外は適当な一時ファイルに出力し
b=で始まる行だけはメモリー上に格納しておく
b=行が出現する度に、あたらしい行データでメモリー上を更新する
EOFまで処理したら、一時ファイルとメモリー上のデータをマージする
その際にb=の値を所定の値に置換する
順番は後にソートする前提なので適当で構わない
ソートは外部コマンドでやらせて良いだろうね
0649デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/16(火) 17:35:52.31ID:HrwRMilta
>>648
おお。上の方過ぎて気づかなかった。
0653デフォルトの名無しさん (ワッチョイ e764-66c6)
垢版 |
2018/10/16(火) 23:06:58.82ID:HI3tJEA90
C99時代のhello worldプログラムを考えてみた。

#include <stdio.h>
#include <stdlib.h>

static inline void
print_hello(void)
{
puts("Hello, C!");
}

int
main(void)
{
print_hello();

exit(EXIT_SUCCESS);
}

exit()関数を使ったり、main()関数の中に直に処理を書かないとか色々。
0654デフォルトの名無しさん (ワッチョイ bf9f-pYQO)
垢版 |
2018/10/16(火) 23:31:05.44ID:ZKPc2SIw0
なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?
0655デフォルトの名無しさん (ワッチョイ bf9f-pYQO)
垢版 |
2018/10/16(火) 23:35:18.29ID:ZKPc2SIw0
>>653
あれ?それ、コンパイルすると警告出ないか?main()が何も返してないって。
いや、exit()を理解してくれるコンパイラなら何も出ないかも知れないけどね。
0656デフォルトの名無しさん (ワッチョイ e764-66c6)
垢版 |
2018/10/16(火) 23:48:35.20ID:HI3tJEA90
>>655
c99 -O2 -Wall -Werror -Wextra hello.c -o hello
これで無警告だった。
c99はGNU/Linuxだとgcc -std=c99を実行してる。
icc -std=c99 -O2 -Wall -Werror -Wextra hello.c -o hello
でも成功。
GNUのコンパイラでもIntelのコンパイラでもちゃんと処理できるのでいいんじゃないかなぁ。
0657デフォルトの名無しさん (ワッチョイ bf9f-pYQO)
垢版 |
2018/10/17(水) 01:16:05.15ID:GVzdQn3+0
そうだったか。
0659デフォルトの名無しさん (ワッチョイ c7e3-Zu1O)
垢版 |
2018/10/17(水) 01:48:50.18ID:aAn3UH6A0
c99から(とc++も)main()は特別扱いで省略時はreturn 0;と扱われる
とググったらでてきた

なんでmain()だけ?どうせなら関数全てそうしちゃえばいいのに、と思わなくもない
0660デフォルトの名無しさん (ワッチョイ bf9f-pYQO)
垢版 |
2018/10/17(水) 02:29:49.55ID:GVzdQn3+0
なんと。そうだったのか。
0676デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/17(水) 12:57:28.62ID:8efdFbKLa
>>675
え?そこに書いてある通りでは?
0679デフォルトの名無しさん (ワッチョイ e764-66c6)
垢版 |
2018/10/17(水) 13:47:12.06ID:MkHFWGSb0
>>653
だれかこれに触れてほしい(自己主張)
C99というかモダンCプログラミングの初歩として
(手前味噌だが)かなりいい感じだと思うんだけどどうかな。

とりあえず今までのhello worldプログラムは
・return文、しかも0固定をmain()関数に書いてしまっている
・main()関数に直に処理を書いてしまっている。
などの理由であまり実際に即していないと思うのよね。
0681デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/17(水) 13:59:47.69ID:8efdFbKLa
別にmain()に処理書いてもいいと思うがな。パッと見てわかるぐらいの小ささなら。

まあしかしこれは各個人の信仰の問題であって言語そのものの制限ではない。
そこまでなんとかしたいならそういう言語を作るしかない。
布教活動すれば信者は増えるだろうが相変わらず教義に反する異端者はこの世に存在し続ける。
0682デフォルトの名無しさん (オイコラミネオ MMfb-KnhR)
垢版 |
2018/10/17(水) 14:08:29.78ID:yNGPPWpxM
>>679
hello world に求められることは、できるだけ少ない手数でイメージ通りの結果が得られることだと思うんだ。宗教の前に。
>>653 に込められた思想が分かるようになるのはずっと後。
まあ、ある程度分かるようになってからのお題としてここで議論するのは面白いかもね。
0683デフォルトの名無しさん (アークセー Sx9b-wEhW)
垢版 |
2018/10/17(水) 14:25:03.69ID:JU3vAU4Ix
mainの中にputsの代わりに別関数呼ぶと言うのはビジネスロジックをmainから極力排除するという意図があると推測するけど、最初の一歩としては複雑すぎる。
いきなり最初から関数、inline、static、exitの仕様を理解する必要があるので。
0685デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/17(水) 15:16:21.42ID:mC+TJhpha
voidといいsizeofといい、今年は豊作だなw
0686デフォルトの名無しさん (ワッチョイ 4708-I59m)
垢版 |
2018/10/17(水) 15:38:23.06ID:6YtQ5uRO0
b=の書換質問は釣りだったんだな
0687デフォルトの名無しさん (ワッチョイ df9f-5hEM)
垢版 |
2018/10/17(水) 16:16:17.24ID:O9lRBr4Z0
voidくん見てる〜?
sizeof(32)くんて友達出来てよかったねw
0690デフォルトの名無しさん (ワッチョイ 674f-gma9)
垢版 |
2018/10/17(水) 18:18:55.24ID:jwV5Qww90
>>653
>>679
ゴミだね

お前ら初心者はもう少しわきまえた方がいい。
初心者が思いつきで出来る領域はCにはもう残されていない。そういうのがやりたいのならGoやRustに行け。
C99からもう20年近く経つ。
その間、誰もそういうことをやらなかった(或いは、やっても流行らなかった)のは、その必要がないからだ。
今のお前のように、無視されて終わったからだ。

それが何故ゴミなのか理解出来ないうちは、もっとコードを書くことだ。
0691デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/17(水) 18:31:08.37ID:bYFTmDwea
半角にするの忘れてるぞ
0692デフォルトの名無しさん (ワッチョイ 674f-gma9)
垢版 |
2018/10/17(水) 18:50:31.41ID:jwV5Qww90
>>691
俺は半角君ではないし、あおり抜きでゴミだって事だよ。
マジでそういうことを世界中の誰も20年間しなかった理由を考えてみろ。

この期に及んでお前らみたいな糞初心者がCに溢れている意味が分からんが、
お前らはどうやらどの言語でも良くて、単に流れているスレに溜まっているだけだろ。
だから無理にでも流れないと不安になるから無駄釣りしているわけでさ。
そういうのも迷惑だから止めろ。
0693デフォルトの名無しさん (ワッチョイ dfeb-AFTh)
垢版 |
2018/10/17(水) 19:22:06.89ID:EXKxlQhR0
マジックNGワード「お前ら」 ※2(5)chの全板共通

釣りレス or 気が触れた方のレス or 玄人ぶった素人のレスなど。
ウザいレスを回避する際に使用します。

参考:
【レス抽出】
対象スレ:C言語なら俺に聞け 148
キーワード:お前ら

抽出レス数:18
0694デフォルトの名無しさん (ワッチョイ 674f-gma9)
垢版 |
2018/10/17(水) 19:59:27.76ID:jwV5Qww90
>>693
お前らが駄目なところはそういう所なんだけどな。
最近パヨクが急速に腐ったのも同じ理由だ。

最近は693みたいに、「俺の希望する意見じゃなきゃイヤ」な奴が多すぎる。
ネットってのはリアル以上にいろんな人がいて、様々な意見を聞ける。
その中で、どんな偏った意見も、探せば出てくる。
フィルタ(ブロック)しまくれば都合がいい意見しか見えない状況が簡単に作れる。
これは昔で言う、イエスマンで周囲を固めた状態だ。一番やってはいけないと言われていたことだ。
そしてそれをやりまくったのがパヨクで、今は世間とずれまくってるだろ。

今の状況で俺をブロックするのなら、お前らはパヨク以下に落ちる。
勿論、俺が言っていることが間違いだらけで、読む価値無しと判断するなら、フィルタするのは自由だ。
しかし実際の所、>>679を肯定的に評価している奴なんて誰もいないだろ。俺が一番はっきり言っただけであってさ。
この状況で俺をフィルタするってのは、お前はパヨク予備軍だって事だよ。

世界中を探して>>679を褒めてくれる奴を見つけだし、そこに移住すれば、君らは幸せになれるだろう。
俺も君らが居なくなって清々するし、有り難いから、そうしてくれれば助かるのだが。
そもそも、この程度でNGが必要な奴はここ(2ch)に来るべきではないし。


まあ、>>693には俺が見えてないはずだから、この話はここで終わりだが。
0695デフォルトの名無しさん (ワッチョイ df9f-5hEM)
垢版 |
2018/10/17(水) 20:06:48.77ID:O9lRBr4Z0
などと意味不明の供述をしており
0699デフォルトの名無しさん (ワッチョイ e764-66c6)
垢版 |
2018/10/17(水) 20:50:17.71ID:MkHFWGSb0
弁明しておくと、俺の >>653 は釣りじゃなくて、まったくの興味というか
こういうプログラムのほうがいいんじゃないかという提案だった。
結果的に荒れ気味になってしまったのはすまん。
(個人的には旧hello worldよりも洗練されていると思うんだけどなぁ……)
0701デフォルトの名無しさん (ワッチョイ 674f-gma9)
垢版 |
2018/10/17(水) 20:58:45.43ID:jwV5Qww90
>>697
お前も何故か必死なんだな。

同一人物でないのなら、単に>>679>>653を褒めてやればいいだけだろ。
そこで「気に入らない意見」(に反論)ではなく、
気に入らない意見を言った「俺」にフォーカスしてくる辺りがパヨク予備軍なんだよ。

実際の所、ネット上には間違ったことを言う奴も多い。それが俺だというのならさておき、
誰も>>679を褒めてないし、20年間世界中でそんな馬鹿なことをした奴が居ないのも事実なんだから、
そのことをふまえて普通に考えれば、>>679がゴミなのは事実だし、自明だろ。

ゆとりはスクラムを組んで連呼し、黒を白だと主張する事がよくあるが、それは明白な間違いだよ。
てゆうか、一体お前らは何がしたいん?
ゴミをゴミだと言われない匿名掲示板なんて、逆に存在価値がないだろ。
腐されたくないだけなら、FaceBookでやるべきだ。
後ろ指さされることはあっても、堂々とゴミだと言われることはあまり無いはず。
それがお前らの望みなんだろ?
(今回の>>675もそう。ここでボロカスに言われることはあっても、直接言われることがないからあのままなのであって)
0702デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/17(水) 20:59:31.12ID:OPzCf6X6a
>>699
洗練されているとは思うが学び始めたばかりの初心者に最初に見せるサンプルプログラムとしてはやはり複雑なのではないかと思う。
0703デフォルトの名無しさん (アウアウカー Sa7b-GU/K)
垢版 |
2018/10/17(水) 21:07:03.53ID:OPzCf6X6a
>>701
お前はゴミだ。
0704デフォルトの名無しさん (ワッチョイ 674f-gma9)
垢版 |
2018/10/17(水) 21:44:14.14ID:jwV5Qww90
>>702
褒める気があるのならもっとはっきりと褒めろよ。

>>703
そういうところがお前らの駄目なところだ、と言っているわけだが。
まあ所詮それがゆとりの限界だよな、とは思う。
否定されたことがないから否定されることに過敏なのか?最近この手の輩はよく見かけるが。

しかし、俺をゴミ呼ばわりするお前ですら>>702程度しか言えないのなら、
逆に俺の意見「>>679>>653はゴミ」を補強しているではないか。
俺をゴミ呼ばわりするのなら、もっとベタ褒めしないと筋が通らないだろ。
そのことにすら気づけないのか?
0705デフォルトの名無しさん (ワッチョイ 674f-gma9)
垢版 |
2018/10/17(水) 22:03:17.39ID:jwV5Qww90
>>699
一応マジレスしておく。
ただし技術的な答えは書かない。
これは最近、この手で煽って答えを書かせる輩が増えていると感じるから。
そういう奴らにはエサを与えず、餓死させるのが習いだ。
君のせいではないから、この点は安心していい。

> こういうプログラムのほうがいいんじゃないかという提案だった。
これはいい。
というか、こういうのを自由にやれるところがいいところであって、
逆に、遠慮して何も言えないようなら匿名掲示板の存在価値はない。
だから、思ったことはどんどん言えばいいし、
それについて文句を言いたければ言えばいいし、結果的に荒れても問題ない。
ここは、そういう場所だから。
逆に、FaceBookや実名空間で出来ることをここでやるべきではない。
実名空間で口頭でやった方が手間もかからず早いからだ。

問題は、ゴミをゴミだとはっきり言いきった俺に対して、
言い方が良くない系の言いがかりを付けてくる馬鹿が多いことだ。
匿名掲示板で全員が意見をオブラートに包んで言うようになったら存在価値なんて無くなる。
そもそも、それを求める奴がここに来るのも間違っている。
そんな奴は、少なくともコテハン制の所に行くべきなのさ。
0706デフォルトの名無しさん (ワッチョイ e780-gma9)
垢版 |
2018/10/17(水) 22:07:22.33ID:Ny9Q/0jK0
相変わらず低学歴知恵遅れたちは
超どうでもいいことで
超どうでもいいレスをひたすら書きこんでるわ
0707デフォルトの名無しさん (アウアウカー Sa7b-v5lg)
垢版 |
2018/10/17(水) 22:07:25.85ID:MwWLHD/ka
>>700
言えてる。

CASL2の勉強で1から140までの合計を求めて、その数を文字列に変換するプログラム書いたんだけど、どうよ?
ほら。Cって組込にも使われるじゃん。
printfが無い環境のために良い練習じゃん。
(実際、組込Cでprintf無いけど、キャラクタディスプレイ付ければ文字コードを送ると表示される環境と言うのがある)

なぜ140かと言うと各桁が同じ数字じゃ無いので保存場所の間違いに気付きやすいから。
4桁は合計で出た数の桁数。

キャラクタディスプレイの代わりにputs縛りって事でさ。
0711デフォルトの名無しさん (ワッチョイ 7e5b-PTxd)
垢版 |
2018/10/18(木) 00:56:03.83ID:kg6wANGU0
>>705
でもvoid君はC言語詳しくないじゃん
0714デフォルトの名無しさん (ワッチョイ c34f-tM5n)
垢版 |
2018/10/18(木) 02:29:02.90ID:+6TFZypL0
>>711-712
お前らがC言語に詳しいつもりなら、それなりの見解を添えて>>679>>653に対しての意見を言えばいいだけ。
誰一人として褒めてない(≒俺の意見も正しい)この状況で、
そういうゆとりスクラムでゴネて駄目なものをさも素晴らしいことにしようとするからゆとりは嫌われる。
お前らは自覚出来ていないようだけども。

いずれにしても、ゆとりスクラムなんて誰も得しないから止めとけ。
お前ら自身も学ぶ機会を失っているだけだし。

表面的な言い争いでスレが潰れることはない。
>>679だって、本当にそう思って主張したのだから、それでいい。それで荒れるのなら、それも仕方ない。
ただ、スクラム組んでるゆとりみたいに、自由な意見を排除しようってのは、スレを毀損し、潰す。
だからそれは止めろと言っている。
お前らが望む「どんな糞コードでも褒めてもらえるスレ」は、ここ(2ch)では存在し得ない。
お前らみたいに、自分の意見を全く言わず、ただ他人を馬鹿にしたいだけの奴が居るのも、また事実だから。

ただここら辺、何度言ってもゆとりには通じないところをみると、やはりギャップがある。
俺には、ゆとりが望む「どんな糞コードでも褒めてもらえるスレ」は存在価値が無いと思える。
読んだとしても、全く上達に繋がらず、むしろ道を誤ることになるからだ。
ここら辺がマジで通じないのは何故か、分かる人がいたら、解説願いたい。

ゆとりは今の居心地の良さ、つまり、書いてある内容の正誤より、言い争いのないだけのスレを好む傾向がある。
そして、それが長期的にはスレを殺すことも認識出来ない。実際、それでスレがゴミ化するのを何度も見てきた。
これがゆとりの特性、ってことなのかね?

まあとにかく、誤解無いように何度も言っておくが、
俺自身は653や679のような主張はやりたいのならやればいいと思っている。
そして中身はゴミだという見解だ。
結果的に荒れたようになっているのは679のせいではないから、萎縮する必要はない。
が、誰も褒めないコードを素晴らしいと思えちゃうのは、679に技術的な問題があるんだよ。それは自覚した方がいい。
0715デフォルトの名無しさん (ワッチョイ f364-qPjg)
垢版 |
2018/10/18(木) 03:00:15.26ID:SqeIqpTY0
>>714
指摘あざす。荒れ気味になっちゃったのは残念だけど、俺のコードに関して(賛否関係なく)F/Bを貰えたのは嬉しい。

差し支えなければどの辺りがゴミなのか教えてもらえないかな。今後に生かしたい。
というよりも、既存のhello worldプログラム——つまり
#include <stdio.h>

int
main(void)
{
printf("Hello, C!\n");

return 0;
}
で、(C言語の関数としてはあまりに多機能で異質な)printfを使っていたり
組込み機器向けのプログラムでもないのにmain()関数をreturnで終了していたり
main()関数のなかに直に処理を書いてしまっている点は、問題ないと考えているってことだよね。
これらはこのプログラムを書く初心者にとっては不要な心配だということかな。
0718デフォルトの名無しさん (ワッチョイ 269f-nBLa)
垢版 |
2018/10/18(木) 03:42:00.06ID:CSkK3ONp0
>>714
>>679>>653への意見以外の事を長文で沢山書いてるのは君だ。
もっと自分のやっていることを自分で見た方が良い。
0719デフォルトの名無しさん (ワッチョイ 6ab3-hO2L)
垢版 |
2018/10/18(木) 04:54:24.19ID:iSVWVd6E0
>>713
勝手な妄想?

> c99はGNU/Linuxだとgcc -std=c99を実行してる。
> icc -std=c99 -O2 -Wall -Werror -Wextra hello.c -o hello
> でも成功。

に対して

> -std=c99いらねって
> デフォだぞ今のgccは

って書いたアホがいたって話なんだが w
0722デフォルトの名無しさん (バッミングク MMab-PhZZ)
垢版 |
2018/10/18(木) 06:45:51.12ID:LRx1sLItM
>>715
どちらがより初学者向けかの比較の問題だと思う。
既存のhello worldが今の時代に則して最適とは思わないけど、それにも増して貴方のhello worldがいきなり覚える要素が多すぎて適切じゃない。
ちなみに組み込みを何か勘違いしてるっぽいけど、普通はmainからreturnさえしない。
0723デフォルトの名無しさん (ドコグロ MM3b-hO2L)
垢版 |
2018/10/18(木) 06:47:39.20ID:zbm0s+GWM
>>720
-std=c99
って書いてあるのは

1. > c99はGNU/Linuxだとgcc -std=c99を実行してる。
2. > icc -std=c99 -O2 -Wall -Werror -Wextra hello.c -o hello

の2つ

1. のことを言ってるならc99コマンドの作者に言え
2. のことを言ってるなら精神科か眼科に行け

って話な w
0725デフォルトの名無しさん (ワッチョイ 8b8a-Aaj1)
垢版 |
2018/10/18(木) 07:46:50.50ID:OVQJgcG30
OSが存在しない組込み系ではあり得ないこともない
通常は電源投入後スタートアップルーチンからmain関数を呼び出して電源遮断するまで永久ループ
万一、電磁パルスや放射線等でマイコンが動作しプログラムカウンタの値が狂ってループ外に脱出した場合は強制リセットで再起動

void main(void) {
while(1) {
... // メインループ: 永久ループで脱出不可
}
_asm("JP VECT_RESET"); // 異常発生により強制リセット: スタートアップルーチンへ強制ジャンプ
}
0728デフォルトの名無しさん (ワッチョイ f364-qPjg)
垢版 |
2018/10/18(木) 08:00:46.41ID:SqeIqpTY0
>>726
そうかもしれないが
gnu99とc99はちょっと動作違うじゃん?
と言ってもトリグラフの警告の有無とかその程度だけど。
c99コマンドは-std=c99だけどiccコマンドは-std=c99を明示すべきと判断した。
0729デフォルトの名無しさん (ワッチョイ 269f-eYdq)
垢版 |
2018/10/18(木) 08:38:10.70ID:CSkK3ONp0
>>724
その辺はどう作るかによるだろう。
0732デフォルトの名無しさん (アウアウカー Safb-nHS7)
垢版 |
2018/10/18(木) 09:11:29.09ID:xtVP5nmJa
本当に今年は豊作だ
0733デフォルトの名無しさん (アウアウカー Safb-nHS7)
垢版 |
2018/10/18(木) 09:13:27.72ID:xtVP5nmJa
>>731
そんなもんmain呼ぶcrtの方で無限ループするように作っとけばできるじゃん。
0734デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/18(木) 09:19:15.80ID:qf9NxgCDa
>>707 に誰も挑戦しねーし。。。

千の位は1000で割れば数が出るし、余りが千の位を引いた数だから、今度は百の位、十の位ってする。
各位の数字に16進数の30(文字コードで数字の0)を足すと文字列の完成。
(Cだと末尾に¥0も必要。“0000”とか文字配列作れば自動で挿入される)

大まかなロジック教えれば書けるだろ。
分かってみれば大した事してないんだよ。
0739デフォルトの名無しさん (ワッチョイ 2e23-nBLa)
垢版 |
2018/10/18(木) 11:44:54.60ID:9LQIedmj0
一周まわって、何かあったらどんどんexitするようにしたよ

メモリリークしてるかも? ⇒ 一応プロセス再起動
処理が滞ってきたかも? ⇒ 一応プロセス再起動

便利なOSを使うようになってからどんどん怠ける一方よ
0744デフォルトの名無しさん (アウアウカー Safb-nHS7)
垢版 |
2018/10/18(木) 14:51:32.83ID:G4vijIF0a
C言語は言語レベルではオブジェクト指向はサポートされていない
0745デフォルトの名無しさん (アウアウカー Safb-nHS7)
垢版 |
2018/10/18(木) 14:54:22.85ID:G4vijIF0a
>>743
しかし身に付いても中々メモリリークのバグはなくならないよな。
やはりその辺が心配なら他の言語使った方が良いと思う。
0746デフォルトの名無しさん (アウアウエー Sae2-Tmzw)
垢版 |
2018/10/18(木) 14:58:25.72ID:daUW8tpUa
クソコードに揉まれてクソコード書きになった人も多いから、クソを体験しろとも言えんな…
長い時間かけてデバッグして身についたもんは確かにあるけど、人生は貴重だからな。
0749デフォルトの名無しさん (アウアウカー Safb-nHS7)
垢版 |
2018/10/18(木) 16:28:17.06ID:hfM3a7YWa
誰もがそう思うのだよ。

しかしこの世は思い通りにはならんのだ。
0759デフォルトの名無しさん (ワッチョイ 7bea-UhuV)
垢版 |
2018/10/18(木) 19:23:14.70ID:Lxt1YLpM0
あと開放された後なのに、そのポインタのデリファレンスしてたり

別スレッドで確保した時、そこに割り当て発生〜別スレッド側の正当な書き込み
→ 不当な側のデリファレンスでブッコワレーターな値 とか
0760デフォルトの名無しさん (アウアウカー Safb-nHS7)
垢版 |
2018/10/18(木) 19:26:42.15ID:9i8IzX+1a
C++だと工夫すればかなり自動化できるんじゃないか?
Cと同じようにも書けるからハマる時はハマるだろうけど。
0762デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/18(木) 19:46:10.54ID:qf9NxgCDa
734 デフォルトの名無しさん (アウアウカー Safb-dUTK)[] 2018/10/18(木) 09:19:15.80 ID:qf9NxgCDa
>>707 に誰も挑戦しねーし。。。

千の位は1000で割れば数が出るし、余りが千の位を引いた数だから、今度は百の位、十の位ってする。
各位の数字に16進数の30(文字コードで数字の0)を足すと文字列の完成。
(Cだと末尾に¥0も必要。“0000”とか文字配列作れば自動で挿入される)

大まかなロジック教えれば書けるだろ。
分かってみれば大した事してないんだよ。
0763デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/18(木) 19:47:20.69ID:qf9NxgCDa
; SAMPLE3 12,15,42
PROG1 START MAIN
MAIN LD GR0,MIN
LAD GR1,0
LOOP CPA GR0,MAX
JPL LOOPEND
ADDA GR1,GR0
ADDA GR0,STEP
JUMP LOOP
LOOPEND ST GR1,SUM
LAD GR2,0
LAD GR0,0
CPA GR1,BMAX,GR2
L1000 JMI L1000END
SUBA GR1,BMAX,GR2
ADDA GR0,STEP
CPA GR1,BMAX,GR2
JUMP L1000
L1000END ADDA GR0,ZERO_S
ST GR0,STR,GR2
ADDA GR2,STEP
LAD GR0,0
CPA GR1,BMAX,GR2
0765デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/18(木) 19:47:29.90ID:qf9NxgCDa
L100 JMI L100END
SUBA GR1,BMAX,GR2
ADDA GR0,STEP
CPA GR1,BMAX,GR2
JUMP L100
L100END ADDA GR0,ZERO_S
ST GR0,STR,GR2
ADDA GR2,STEP
LAD GR0,0
CPA GR1,BMAX,GR2
L10 JMI L10END
SUBA GR1,BMAX,GR2
ADDA GR0,STEP
CPA GR1,BMAX,GR2
JUMP L10
L10END ADDA GR0,ZERO_S
ST GR0,STR,GR2
ADDA GR2,STEP
ADDA GR1,ZERO_S
ST GR1,STR,GR2
OUT STR,LEN
RET
MIN DC 1
MAX DC 140
STEP DC 1
SUM DS 1
BMAX DC 1000,100,10
ZERO_S DC #0300
STR DS 4
LEN DC 4
END
0767デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/18(木) 19:49:54.55ID:qf9NxgCDa
まあ、CASL2のコード載せたからって書くやつが現れるなんて思ってないが。。。
本っ当にお前ら終わってるな。

プログラマーになり損なった俺より、なお悪いわ。
0769デフォルトの名無しさん (アウアウカー Safb-nHS7)
垢版 |
2018/10/18(木) 20:01:35.14ID:9i8IzX+1a
>>764
malloc()等でメモリ確保してfree()しなければメモリリークになる。
その他strdup()のように内部でmalloc()を使っているやつは同様。
0771デフォルトの名無しさん (アウアウカー Safb-nHS7)
垢版 |
2018/10/18(木) 20:12:08.73ID:9i8IzX+1a
>>770
何をするとリークするかを書いただけだが?
0775デフォルトの名無しさん (ブーイモ MM17-SAcu)
垢版 |
2018/10/18(木) 20:58:01.13ID:KO6AKpPQM
たったこれだけでリークするコードを仕込んだことになる。
もちろん仕様書通りの動作だけど、ノウハウ集を見るまえに気づくのはわりと難しいかもね。

p = realloc(p, 1 * sizeof(int));
0776デフォルトの名無しさん (ワッチョイ 269f-eYdq)
垢版 |
2018/10/18(木) 21:06:20.49ID:CSkK3ONp0
>>772
しかし君はアホだから丁度マッチした適切なレスではないかな。
0778デフォルトの名無しさん (ワッチョイ 269f-eYdq)
垢版 |
2018/10/18(木) 21:08:03.73ID:CSkK3ONp0
>>775
それでリークするかどうかはその他の部分がどう書かれているかによるのでは?
0780デフォルトの名無しさん (ワッチョイ 269f-eYdq)
垢版 |
2018/10/18(木) 21:10:01.05ID:CSkK3ONp0
ああ。失敗した時か。確かにリークするな。
そういう時はもう処理続行不能って事にしてexit()させてる。
0785デフォルトの名無しさん (ワッチョイ c34f-tM5n)
垢版 |
2018/10/18(木) 22:29:32.46ID:+6TFZypL0
>>715
俺は書かないと言ったろ。理由は>>705参照。
そして俺は最初に解法も示してる。>>690参照。

つっても理解出来てないようだから、もう少し(非技術的な)解説をしよう。
現状、俺以外の他全員誰も褒めてないんだから、この際理由を『詳しくない』俺にわざわざ求める必要がないだろ。
しかし、何故か俺に意見を書かせようとする輩が多いだろ。お前も含めて。
それがアフィカスじみてて、結果的にスレを潰すから、俺はそれには乗らない、と言ってるんだよ。
見れば分かるとおり、スレの流れが異常だろ。

俺が何度もこのメタ議論を出している理由は、お前らゆとりが全くこの辺について無知だからだ。
お前らゆとりは、オンラインコミュニティは潰していいものだと思っている。
見方が本当に刹那的で、自分の質問に対しての答えが得られれば後はどうなってもいいと思っている。
(ただ乗り出来るし、勝手に発生するものだと思っている)
実際は、オンラインコミュニティだって、成熟するには時間も労力もかかる。
そこがどんなに(お前にとって)糞であれ、住めば都だから住人が居るわけで、そんなに簡単に潰していいものではないんだ。

ゆとりが老害老害と連呼しながらも2chにへばりついているのも、ちょっと考えればおかしいと気づけるだろ。
2chは古いし、年齢層は高い。これは事実で、実際、老害年齢層の存在確率は他のコミュニティよりも高い。
しかし、結局の所、ゆとり流では「既読疲れ」みたいなコミュニティしか形成出来なかったんだよ。これも事実だ。
だからお前らがここに文句を言いつつもへばりついているわけでさ。

それなのに、ゆとり流をここに持ち込もう、というのは全くの筋違いだ。それは2chを破壊するから止めろと言っている。
ゆとりには長期的な視野がない。2chに色々問題があるのも事実だけど、ゆとりに長期的視野と運営能力があれば、
今現在の20代は全員ゆとりなんだし、人数は揃っているのだから、
「ゆとりチャンネル」(通称ゆとりちゃん)が出来ても全くおかしくない状況だろ。
それが出来ないって事は、お前らゆとりにもかなり問題がある、ってことでさ。それは自覚した方がいい。
0786デフォルトの名無しさん (ワッチョイ c34f-tM5n)
垢版 |
2018/10/18(木) 22:29:49.28ID:+6TFZypL0
とはいえ、2chの問題点が目に付くのは理解出来る。
ただ、それに関して「何故そうなっているのかを理解出来ないのに文句を言っている」のが、
全く使えない意識高い系新入社員と同じ事になってる事にも気づいた方がいい。
お前らは完全に空回りしているんだよ。

ハロワも同じだろ。「何故世界中の誰も20年間それを修正しなかったのか」を理解出来ない癖に、
「俺のハロワ、凄いだろ」なんて言っちゃう辺りが痛い。
ただ、それは若さの特権だから、本当にそう思うのなら主張すればいいし、
ゴミなのを誰も褒めないんだから、ここのコミュニティもまだ正常、ってわけだ。

それで、話を戻すと、ゆとり流の無知と横暴は2chを潰すから止めろ、と言っている。
とはいえ、おそらくゆとりには悪気はない。これが話が通じない根本の原因だ。
しかし、2chにはゆとりを排除するシステム自体がなく、へばりつかれたらどうしようもない。
だから俺はゆとりを教育してやろうとしているわけでさ。2chに合う奴だけが2chに来ればいいのであってね。

笑顔で人を殺しても、殺人は殺人なんだよ。ゆとりはこれを理解出来てない。
同様に、どんなに上手に敬語を使っても、スレを毀損しているようでは駄目なんだよ。
ゆとりは乗っ取り行為が酷すぎる。しかもそれを自覚出来てないのが最悪。
0791デフォルトの名無しさん (ワッチョイ f380-tM5n)
垢版 |
2018/10/18(木) 23:16:58.79ID:THsg9J3q0
ハロワいけ
ハロワ
0792デフォルトの名無しさん (ワッチョイ c34f-tM5n)
垢版 |
2018/10/18(木) 23:27:27.31ID:+6TFZypL0
>>790
効果はあるんだよ。だから書いてる。
正確に言えば、効果がある奴には効果がある、だが。

はっきり言えば、君の考え方もズレてるんだよ。
コミュニティは、オンラインであれオフラインであれ、存続する為には新人を受け入れるしかないんだよ。
だから、ゆとり世代以降を全員閉め出す、というのもまた間違いだし、
後10-15年後にはゆとりが社会の主力になるんだから、
それまでに駄目なところを鍛え直すのは上の世代の責任でもあるんだよ。
(君の考えに関係なく、俺達はゆとり世代に未来を託すしかない)

だから俺は俺なりの方法でやってる。それで成果も多少は出てる。
お前は何もしようともしてないのに文句だけ言ってるクズだよ。
ネットだから何をやってもいい、ではないんだよ。
同様に、ネットだから何もやらなくてもいい、でもない。
ネットだから咎めようがない、でもない。
まあ君には通じないとも思うけど。
0793デフォルトの名無しさん (ワッチョイ be81-xJah)
垢版 |
2018/10/18(木) 23:31:27.22ID:tgytymo80
有益なことなら読んでいるが
長い文章書かれても、大概の奴は読まないだろ
読まれれば効果が有るかもしれないが、
読み飛ばされても文句は言えない事は理解しないと
0794デフォルトの名無しさん (ワッチョイ c34f-tM5n)
垢版 |
2018/10/18(木) 23:55:16.65ID:+6TFZypL0
>>793
> 読み飛ばされても文句は言えない事は理解しないと
理解してるぞ。というか、当たり前だろ。お前はアホなのか?

まあお前も理解出来てないのだろうが、なんだかんだでみんな読んでるんだよ。
そのうち分かるようになるよ。
それ以前に、2chの『長文』ごときで無理な奴はプログラマは無理だし。
0795デフォルトの名無しさん (ワッチョイ 6a9f-zKqf)
垢版 |
2018/10/18(木) 23:56:44.20ID:Mibooz+L0
たまに上から目線で長文書くバカいるけど誰も読まないんだよな
何故かって冗長なだけで大した事書いてないから
0797デフォルトの名無しさん (ワッチョイ c34f-tM5n)
垢版 |
2018/10/19(金) 00:10:02.34ID:Av8doxl90
>>795
そういうことにしたいのはお前が馬鹿だから。
実際は、賢い奴ほど読んでる。
正確には、賢くなる過程で大量のドキュメントを読む必要があり、結果、
賢くなった奴はおしなべて読む速度が速く、読むことに関してコストがかからないからだが。
そして、俺の意図は馬鹿にはどうせ伝わらないから、俺もそれでいいんだよ。
長文ガー、なんて奴は最初から相手にしてない。

三行で、一行で、というのもまた自由だが、
現代プログラマにドキュメントの読み込み能力がかなり必要なのも事実だし、
これは今後さらに拍車がかるのも目に見えているから、
2chの長文に手こずる程度ならマジで国語からやり直した方がいいぞ。
0798デフォルトの名無しさん (アウアウウー Sa9f-Pb4j)
垢版 |
2018/10/19(金) 00:20:52.79ID:e4N83vJpa
>>797
国語の能力に関係なく、攻撃的で、感情的で、実のない部分の比率が高い文章は誰にとっても読みにくいと思うぞ。
汚いコードを読みなれてそういうのを読むのが上手くなったからって、自分のアウトプットするコードは論理的かつ明瞭でキレイでありたいと思わない?
0799デフォルトの名無しさん (ワッチョイ c34f-tM5n)
垢版 |
2018/10/19(金) 00:31:51.38ID:Av8doxl90
>>798
何が言いたいのか分からん。
その君の文章が「論理的かつ明瞭でキレイ」だとでも思っているのか?

俺は俺なりの方法で対処してる。
読むかどうかは当然読み手側が決める。それでいいという前提で書いている。
君がもっと上手く対処出来るというのなら、君がやればいいだけ。
おかしな流れにならなければ、俺がわざわざ時間をかけて長文を投下することもない。
だから、君が見事に、アホ共を捌き、流れが正常化していれば、俺が出張ることもない。
君が俺にこの手の文を投下させたくないのなら、君が実力を見せればいいだけだ。

やってから言えよ。
0801デフォルトの名無しさん (ワッチョイ 6a9f-zKqf)
垢版 |
2018/10/19(金) 01:25:19.25ID:U7ZV6G1w0
5ちゃんで上から目線で長文書く奴の特徴は驚く程共通してるんだよな
例外無く論理的思考が欠如しているから要点をまとめる事も出来ないんだよ
0802デフォルトの名無しさん (ワッチョイ c34f-tM5n)
垢版 |
2018/10/19(金) 02:00:24.64ID:Av8doxl90
>>801
馬鹿こそそういうことにしたがるのだが、
実際、必要な文章量は、認識/知識のギャップに比例するんだよ。

実例を挙げると、>>653,679、ゴミだね、でしかない。
賢い(知識のある)奴にはこれで十分だし、
無理な奴にはグダグダ説明が必要なだけ。

そして俺はお前らがこの件(メタ議論)については無知だと見てグダグダ説明してるだけ。
そもそもお前らが賢ければこんな事にはならないし。


ただ、そういう、「この場合にはこれ」みたいな定型的な屁理屈返しはマジでゆとりに多い。
そういうのも止めた方がいいと思うぞ。誰の為にもならない。
俺も、何度もその返しは見てきた。
それで、誰も俺みたいな返しをしてこなかったから、
お前らゆとりが調子こいて「これは使える」と勘違いしているのだろうけど、
それは単に見捨てられてるだけだぞ。理解出来てないのだろうが。
0803 ◆QZaw55cn4c (ワッチョイ 8a60-oeap)
垢版 |
2018/10/19(金) 07:03:22.13ID:akKjNeBd0
>>799
>>798
>その君の文章が「論理的かつ明瞭でキレイ」だとでも思っているのか?

個人的には >>798 は読みやすいんだが、ID:Av8doxl90 は非常に読みにくい
たとえば >>797 は文脈・論理の線が、不適切な日本語を使用しているせいで滅茶苦茶だ

>>797
>実際は、賢い奴ほど読んでる。…@

>正確には、〜コストがかからないからだが。…A

この「正確には」が、読み手を混乱させるミスリード語。
「正確には」と書く以上、すでに述べた@と同格言い直し内容の後続があるかと期待すると、裏切られて、@の理由を示すAが来る。

>そして、〜伝わらないから、俺もそれでいいんだよ。

「そして」が意味不明、何と何が「そして」で続くのかさっぱりわからない。
「そして」を使うのなら、
「俺の文が、馬鹿には読むコストのかかる文章であったとしても」→「馬鹿にはどうせ俺の意図伝わらないから」→「俺はそれでもいい」…B
と、A部分のキーワード「コスト」という単語を使うことによって、AとBが意味の上でつながっていることを明示するべきだ
Bの冒頭を省くから「そして」が宙に浮く

>>799
>おかしな流れにならなければ、俺がわざわざ時間をかけて長文を投下することもない。
上で示したように、君の文章は「おかしな流れ」そのものといっていい
スレが「おかしな流れ」であるとき、それを正すのに「おかしな流れ」の文章が使えるとでも思っているのか?
0804 ◆QZaw55cn4c (ワッチョイ 8a60-oeap)
垢版 |
2018/10/19(金) 07:17:05.03ID:akKjNeBd0
>>801
>上から目線で長文書く奴の特徴
>論理的思考が欠如している

感情にまかせて思いついた単語を羅列するあまり、
前半と後半の意味の整合性がとれていなかったり、前半と後半をつなぐ接続詞が不適切であったり、で、
はっきりいって脈絡がない

書いている本人はテンポ良く文章を量産できる「頭のいい自分」に酔いしれているのだろうが、
実際には量産されているのはポンコツ文
0805デフォルトの名無しさん (アウアウウー Sa9f-BMDm)
垢版 |
2018/10/19(金) 10:18:49.82ID:gPrGaWTXa
長文をゆっくり書いていられるゆとりのある人はいいなあ
0806デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/19(金) 10:20:47.68ID:SjrnPnkZa
ポンコツかどうかはコード書かせれば分かるだろ。
この世界では他がポンコツでもコードが書ければ正義だ。
0809デフォルトの名無しさん (JP 0H1b-87xj)
垢版 |
2018/10/19(金) 13:27:43.51ID:F6BbYzOIH
>>807
hello worldの存在意義は、
その言語に初めて触れる人に、
言語の規格にきちんと準拠して、
最小限の記述で、
きちんと動作する、
何かのプログラムを見せることだよ。
どんな設計スタイルがいいとか教えることじゃない。
0812デフォルトの名無しさん (アウアウウー Sa9f-BMDm)
垢版 |
2018/10/19(金) 14:33:09.80ID:gPrGaWTXa
カーニハンそんなことやってたっけ?
0813デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/19(金) 15:14:02.97ID:SjrnPnkZa
>>808
設計通りに書けない奴はコードが書ける奴とは言わんだろ。
0814デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/19(金) 15:21:55.54ID:SjrnPnkZa
>>809-810
どっちも正しい。

>>811
GBAハックした時は点を一個表示するのが最初だった。
Hello Worldは二番目。
0816デフォルトの名無しさん (アウアウウー Sa9f-BMDm)
垢版 |
2018/10/19(金) 17:14:10.33ID:gPrGaWTXa
Linuxというかglibcならmanページに書いてあるよ。
0817デフォルトの名無しさん (ワッチョイ f380-tM5n)
垢版 |
2018/10/19(金) 22:42:18.68ID:zxKaiBZl0
make worldでX立ち上がったときは
感動したものだ
0820デフォルトの名無しさん (ワッチョイ be81-xJah)
垢版 |
2018/10/20(土) 01:37:49.13ID:/s/GXT/Q0
それで思い出した
プロジェクトでのmakefile、作成が終わった時に
バナー文字で「make end!」って表示するんだけど
ある人のだけは「big cock!」に書き換えてたっけ

ここには関係者いないよね?
0821デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/20(土) 15:49:24.33ID:Nttc2RvPa
C言語だから、次世代言語(w)よりもコード出るかと思ったら、出ないのな。
0828デフォルトの名無しさん (ワッチョイ 3bb3-xBTp)
垢版 |
2018/10/21(日) 22:17:56.29ID:+iExR7UM0
Cでfloat型が表す最小の正の数値を求めるプログラム書いてて、
とりあえず1.175494e-38に近づけるように書いてみてるんだが
printfで値表示させながらやってみると1.175494e-38以下も表示されるのなんで?
環境はgcc5.5.0_1

とりあえず最小判定は初期値1.2e-38を0.000001e-38ずつ減らしていって、
1.175494e-38を抜けるとバカな数字が出てくると仮定してif(a / (b - c) != 1)で判定してる

int main(){
float a = 1.2e-38, b;
float c = 0.000001e-38;

while(1){
b = a;
a -= c;
printf("a=%.6e b=%.6e\n", a, b);
if(a < 0 || b < 0) break;
if((a / (b - c) != 1.0)) break;
}

printf("a=%.8e b=%.8e\n", a, b);
if(b < 1.175494e-38) printf("b is not min value\n");
}
0834デフォルトの名無しさん (ワッチョイ 3bb3-FQxm)
垢版 |
2018/10/22(月) 01:30:41.57ID:eGJ65JSF0
>>833
int型だとオーバーフローすると馬鹿な数字がでてくるからそう仮定したんだが違うのか
率直に聞くんだけど、この場合どうすればいいの?
0835デフォルトの名無しさん (ワッチョイ 8af9-L5c9)
垢版 |
2018/10/22(月) 01:41:56.82ID:ao50gEDc0
>>834
バカな数字とかいい加減な理解をしないで、ちゃんとした仕様を調べてみなよ。例えばwikipedia辺りで算術オーバーフローの項目見て全部読んで、分からない語とか関連する語もちゃんと調べるとか。
0839sage (ワッチョイ 3bb3-xBTp)
垢版 |
2018/10/22(月) 04:59:16.08ID:eGJ65JSF0
>>837
int型で似たようなこと(最大の正の数値を求める)やろうとしたら、バカみたいな数字が出たってだけだよ
0846デフォルトの名無しさん (アウアウウー Sa9f-L0SM)
垢版 |
2018/10/22(月) 12:59:00.86ID:8WYgXfgna
そろそろコードで語れや
0848デフォルトの名無しさん (JP 0H1b-xBTp)
垢版 |
2018/10/22(月) 15:05:43.37ID:K/0BTgUUH
>>828ですが、参考書やらをみてアンダーフロー・正規化についてしっかり理解したところ、解決しました。

要は、float型のビット表現の仮数部が 0.(仮数部) ではなく 1.(仮数部) で表現されてるから、
その意味では
0|00000001|00000000000000000000000
が最小の正数になるけど、仮数部を 0.(仮数部) と表現しても計算できないことはないから、
0|00000000|10000000000000000000000
もちゃんと表示される、ということだけど、
これ以降ずっと計算していくといずれ
0|00000000|00000000000000000000000
となるから、150回目くらいでアンダーフローが起こる、ということらしい。

>>835>>842ありがとうございました。
0851デフォルトの名無しさん (ワッチョイ 6ab3-b3y3)
垢版 |
2018/10/22(月) 23:25:34.63ID:o0mVKFY/0
>>850
> そうか、847にアホとヴァカって書いてあるのか
> 実際には、そう言ってるのはおまえだけなんだが

ヴァカで検索
>>831 > あ、おまえ間違えたの? アホとヴァカしかやらない間違いだなw
>>840 > アホw ヴァカwww
>>843 > アホとヴァカを認めやがったw
849-850 は指摘なので省略

> 自分にお前だけとかかなりシュールな姿だねw
0854デフォルトの名無しさん (ワッチョイ f364-qPjg)
垢版 |
2018/10/23(火) 12:00:30.24ID:cKF5Z2eR0
C言語でLinuxのdmesgやffmpegのログのような着色された分かり易いログ出力ができるライブラリってありますか?
[YYYY-MM-DD hh:mm:ss.ss] INFO: creating some file...
のような形式がいいんですけど、Cだと自作するしかないですかね?
0857デフォルトの名無しさん (ワッチョイ 4acb-nBLa)
垢版 |
2018/10/23(火) 21:42:50.09ID:/OGOSsnj0
>>851
ヴァカと書いてあるのを血眼で探したのか
ご苦労だったな

で、誰か「自分にお前だけ(ry」とかテレパシーで話しかけてきたのか
なるほど精神科の医者じゃなく患者だな
精神分裂病の陽性症状で幻聴がひどいようだな
0859デフォルトの名無しさん (アウアウウー Sa9f-Egl2)
垢版 |
2018/10/23(火) 22:50:27.85ID:PGQOpxAMa
>>854
サンプル書いてやったぞ

#include <stdio.h>
#include <time.h>
#define D(fmt, ...) \
do { \
struct timespec _ts_; \
struct tm _tm_; \
char _tt_[128] = {0}; \
clock_gettime(CLOCK_REALTIME, &_ts_); \
localtime_r(&_ts_.tv_sec, &_tm_); \
strftime(_tt_, 128, "%H:%M:%S", &_tm_); \
fprintf(stdout, "\033[33m%s.%lu %s:%d %s " fmt "\033[0m\n", \
_tt_, _ts_.tv_nsec, __FILE__, __LINE__, __func__, ##__VA_ARGS__); \
} while (0);
0863854 (ワッチョイ f364-qPjg)
垢版 |
2018/10/24(水) 01:42:48.00ID:+vpF9pgu0
>>859
ありがとうございます!
一点,おこがましい指摘なのですがfprintfの出力先はstderrのほうがいいのではないかと思います。
ログ出力はコマンドの出力とは別個にするべきなので。
0864854 (ワッチョイ f364-qPjg)
垢版 |
2018/10/24(水) 01:48:03.42ID:+vpF9pgu0
>>862
例えば改行を\x0aで固定するのは良くない方法であり、\nにすべきですが(これだとWindows向けにビルドしてやれば\0x0d\0x0aが出力されるようになる)
着色に関するエスエープシーケンスを固定するのは別に大丈夫だと思います。
ECMA-48/8.3.117などで標準化されてますし。
0868デフォルトの名無しさん (ワッチョイ 66d5-7cZp)
垢版 |
2018/10/24(水) 05:49:24.17ID:X/sBrfkw0
>>867
説明のための例だからそういう定義が分かりやすいとして、

>>866
こういうのを定義するときは、手段じゃなくて目的で定義する方がいいんじゃないかな。
ソース位置の強調をするために STYLE_LINE、タイムスタンプを強調するために STYLE_TIME、プロセスIDを強調するために STYLE_PID、みたいな。
それらを定義するときに YELLOW とか RED とか使う感じ。

#define STYLE_LINE(FMT) (ANSI_COLOR_YELLOW FMT ANSI_COLOR_RESET)

みたいにして、
fprintf(stdout, STYLE_TIME("%s.%lu") " " STYLE_LINE("%s:%d") " " STYLE_MSG(fmt) "¥n",

とか。
0869デフォルトの名無しさん (アウアウウー Sa9f-Egl2)
垢版 |
2018/10/24(水) 07:45:53.57ID:hBENxp+1a
>>861
;はミスだわ

>>863
サンプルなのでお好きに

>>868
好みかもしれんが、一行の中で色変えるとか見づらくないか?
そのフォーマットではファイル出力したくなくなるし

俺が色使うなら #define D(type, fmt, ...) でタイプ指定して
fprintf(stdout, COLOR(type) ... COLOR_END "\n",
とかで色変えるぐらいかな
0873デフォルトの名無しさん (アウアウウー Sa9f-L0SM)
垢版 |
2018/10/24(水) 20:20:46.99ID:k2aW8IHEa
cursesライブラリは使えないなかな?
0875デフォルトの名無しさん (スッップ Sd8a-Iuwz)
垢版 |
2018/10/24(水) 21:31:34.66ID:0y0LlX3od
C初心者です、よろしくお願いします
ubuntuのvimでしこしこ書いてgccでコンパイルしています
CでIDEを使ってみたいのですがオススメありましたら教えてください
仕事ではJavaでEclipseを使ってるのですがCで使ってみたらいまいちピンと来ませんでした
やはり皆さんVisualStadioとかVSCodeあたりでしょうか?
0877デフォルトの名無しさん (アウアウウー Sa5d-hDoO)
垢版 |
2018/10/25(木) 09:43:50.32ID:hw/Q19JUa
>>874
ないけどUNIXで昔からsyslog使われてた。というかそれがあったせいで他のログ出力ライブラリが広まらなかったのかも知れない。
0882デフォルトの名無しさん (アウアウウー Sa5d-hDoO)
垢版 |
2018/10/25(木) 15:40:47.48ID:hw/Q19JUa
rsyslogdだと設定できなかったっけ?
0884デフォルトの名無しさん (ワッチョイ 9764-g60c)
垢版 |
2018/10/25(木) 18:37:09.60ID:R/0gSUq30
うーん。素人考えなんだけどfprintf()関数を呼び出したり,その中で__FILE__マクロ変数を展開したりするのって
そんなにコスト掛かる動作じゃないよね。
いくら大量の処理とは言え,ログを出力しただけで影響がでるような厳しい環境ってそうなくない?
そしてそもそもそんな環境でログ処理ではないメインの処理って動くの?
0885デフォルトの名無しさん (ワッチョイ 73d5-nh9x)
垢版 |
2018/10/25(木) 18:46:33.19ID:s6Ph9fEn0
>>884
マルチプロセスやマルチスレッドだったりすれば排他も必要だし、fprintf 使っただけだとプロセスの突然死なんかではバッファがフラッシュされず失われ、一番欲しい落ちる寸前の情報が欠けかねない。
小まめにフラッシュしたらそれはそれで性能の問題が出る。
奥が深いと思うよ。
0887デフォルトの名無しさん (アウアウウー Saf1-6HWJ)
垢版 |
2018/10/26(金) 00:21:48.90ID:7237jhqNa
>>884
どの程度の性能を求めてるか次第だと思うよ
時刻取得でも clock_gettime と gettimeofday でうるさく言う人もいるしね

トレースログみたいに高速かつ大容量を考えるなら
ログがN件入るバッファを複数持っておいて
情報は基本バイナリで登録、ローテート時にファイル書き出し、
別途パーサーを作る、とかかな

まあそこまでする必要のあるソフトなんて稀だろうけど
0888デフォルトの名無しさん (ワッチョイ 5b30-7TBo)
垢版 |
2018/10/26(金) 09:13:38.45ID:hAbqlzFH0
ポインタをややこしくしてるのは
int* a;
の a がポインタ変数で
a[10]
という配列がある時、a と書くだけで配列の先頭アドレスの別の書き方として許されてるがいけないんじゃないのかな?って思ったんだけど合ってる?
配列の先頭アドレスは常に&a[0]って書くようにするようにすればポインタのごちゃごちゃって解消されない?
0892デフォルトの名無しさん (ワッチョイ 7312-SUE8)
垢版 |
2018/10/26(金) 11:21:53.96ID:E0U+wNaz0
違う
違うナァ

機械語→BASICのころには
「変数って何だ?!!」として変数なる概念をなかなか理解できなかったやつがいた……
と言う話を聞いてる

今の初心者の一部もなじめないヤツが一定数いる

言ってしまえばC言語は「変数指向」のプログラミング言語だ
オブジェクト指向や関数型に並び立つような、な
気付いてないが現代プログラミング言語は「変数指向」で出来てる
そしてどんな思想であろうとどんだけ説明してもその概念の片鱗すら理解出来ないヤツはいる

なので「変数」概念の理解に原理原則なんて存在しない
一発で理解出来るか素直に受け入れるかのどちらかしかない
それ以上説明しても意味が無い、という人物は少数だがいる
これはしょうがない
0894デフォルトの名無しさん (ワッチョイ 73d5-nh9x)
垢版 |
2018/10/26(金) 13:39:36.53ID:T+aWo9i70
>>893
それが分かりやすいかはちょっと微妙じゃね。
int i; ならその領域は確保されてるけど、int *a; と宣言した *a は型としては i と同じだけどそのままで i と同じように使えるわけじゃないし。
ポインタで迷うレベルに通じる話じゃなさそうだし、これが通じるならポインタで迷ってないんじゃね。
0898デフォルトの名無しさん (スプッッ Sd9b-UHBe)
垢版 |
2018/10/26(金) 17:09:00.87ID:JLzES5S7d
これを実行するときに、argcに3が入っているとsegmentation faultとなってしまうのですがなぜだかわかりますか?
OSはopensuseでコンパイラはccです

#include <stdio.h>
#include <string.h>

int main(int argc,char *argv[])
{
int cmp=0;
char *s1=argv[1],*s2=argv[2];
cmp=strcmp(s1,s2);
if(argc!=3){
fprintf(stderr,"usage:%s[string1][string2]\n",argv[0]);
return -1;
}
if(cmp<0){
printf("%d : %s\n",strlen(s2),argv[2]);
}
else{
printf("%d : %s\n",strlen(s1),argv[1]);
}

return 0;
}
0899デフォルトの名無しさん (アウアウウー Sa5d-hDoO)
垢版 |
2018/10/26(金) 17:14:58.46ID:8JGFizbaa
>>898
argc調べる前にstrcmp()するのは変だろう。
0901デフォルトの名無しさん (スプッッ Sd9b-UHBe)
垢版 |
2018/10/26(金) 17:21:54.90ID:JLzES5S7d
>>899
それを直したらsegmentation faultしなくなったんですけど、理由が知りたくて…
0905デフォルトの名無しさん (ワッチョイ eb72-UHBe)
垢版 |
2018/10/26(金) 18:25:03.95ID:HaLyiKNA0
>>902
なるほどです
理解しました
>>904
これではよくないんですか?
0906デフォルトの名無しさん (アウアウウー Sa5d-hDoO)
垢版 |
2018/10/26(金) 18:25:43.74ID:8JGFizbaa
>>901
引数がなかったり一つだったりした時に先に無条件にstrcmp()をしてしまうと両方または一方が不定値やNULLになるので落ちたり変な動きになったりする。
0907デフォルトの名無しさん (ワッチョイ eb72-UHBe)
垢版 |
2018/10/26(金) 18:28:06.65ID:HaLyiKNA0
>>906
詳しい説明ありがとうございます
0909デフォルトの名無しさん (ワッチョイ eb72-UHBe)
垢版 |
2018/10/26(金) 19:42:46.18ID:HaLyiKNA0
>>908
すみません間違いました
3以外が入ってるときです
0912デフォルトの名無しさん (ワッチョイ 9764-g60c)
垢版 |
2018/10/26(金) 21:08:53.88ID:ScQN6FWl0
みんな知ってるかもしれないが
[--foo]で--fooオプションが省略可能だということはかなり広範な決まりで,
POSIXに始まりGNUプロジェクトやPythonのインターフェース規格でも取り入れられてる。
0913デフォルトの名無しさん (アウアウウー Saf1-6HWJ)
垢版 |
2018/10/26(金) 22:48:54.99ID:dAefMjKVa
>>910
そりゃいるだろうよ、と思って確認してみた
ubuntuだと環境変数の近くにいるね
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char *c = getenv("PATH");
while (--c != NULL)
if (!strcmp(c, "hoge")) {
printf("%s\n", c);
while (++c != NULL)
if (!strcmp(c, "foo")) {
printf("%s\n", c);
return 0;
}
return 0;
}
return 0;
}

$ ./a.out hoge foo
hoge
foo
0921デフォルトの名無しさん (ワッチョイ eb72-UHBe)
垢版 |
2018/10/27(土) 01:29:30.14ID:x+9raBkh0
>>911
そういう意味があるんですね
ありがとうございます
0922デフォルトの名無しさん (ワッチョイ 614f-SUE8)
垢版 |
2018/10/27(土) 13:15:19.86ID:8fc2vBvs0
>>892
違うぞ。

その世代(ベーマガ世代)で変数が理解出来なかったのは、数学的素養がなかったからだ。
数学で「変数」が導入されるのは「方程式」からで、それ以前の小学校の算数は全部「定数」で出来ているから、
その世代の『小学生』はそこに戸惑っただけ。
機械語/BASICとかは関係ない。

高一で物理を始めると、三角関数が出てきて戸惑うようなもの。
学校によっては高二から始めるらしいが、その場合は戸惑うことはないだろ。

或いはアフィン変換も同じ。
あれも数学で回転行列を習った後なら容易いが、
『小学生プログラマ』にやらせようと思ったら、まず座標を教えて、その後に…と色々必要だろ。

数学的素養がないと、プログラミングは理解出来ないんだよ。
小学校教育に取り入れた馬鹿共は、プログラミングが出来ないから、それが分からないだけ。

○○が分からない、と言う奴は大概、数学の素養がないか、そもそも全てを『暗記』で済ませてきたタイプだ。
(世の中大概それでどうとでもなるのも事実ではあるが、)それではどうあがいてもプログラミングは上達しない。
頭を切り換えて、全てを『理解』する癖を付けることだね。そしてまず数学を勉強すべきだ。
そうしないとただのコピペ(写経)マンになってしまう。
(はっきり言って昔のベーマガ世代も実際やっていたのは写経でしかないし)

色々理解したら、なるほどCは文法的にも構造的にも美しく出来ているし、
色々無駄がないからこそ、いまだに現役で使われ続けていることが理解出来るようになる。
ただし、分かりやすいわけではないので、俺は初心者はCから始めるべきではないと思うがな。
0923デフォルトの名無しさん (ワッチョイ 7312-SUE8)
垢版 |
2018/10/27(土) 15:37:40.83ID:BkFfYRiz0
>>922
中学の授業では便宜上は今まで変数を習ったことの無い中学なりたてホヤホヤのガキに変数を教えるんだよな?
なのになんでそれで新中学一年生は変数を理解出来るんだ?
素養が無いのにも関わらず変数を授業で教えると理解できるんだぞ?
不思議じゃないか?
0924デフォルトの名無しさん (ワッチョイ 5761-JHIh)
垢版 |
2018/10/27(土) 15:55:34.30ID:IeSn2Jid0
ベーマガのゲーム入力して
兄「ここの数字増やすと自機数が増えるんだよ」
自分「へぇ」

兄「ここの P=P-1を消すと死んでも自機数減らないんだよ」
自分「へぇ」

当時小学3年ごろ。
これで変数と言うのを理解したわ。
0927デフォルトの名無しさん (ガックシ 06af-UHBe)
垢版 |
2018/10/27(土) 17:08:17.28ID:pWQGtgcn6
線形代数とプログラミングってなんの関係があるん?
最近、プログラミング始めたからよくわからんのよな
0929デフォルトの名無しさん (ブーイモ MMf3-JP9K)
垢版 |
2018/10/27(土) 17:36:20.97ID:DmauAY/3M
>>923
変数にしろ関数にしろ教え方がアホすぎて全然理解できてなかったわ
単に計算できるだけだった

後にプログラミングやるようになって何で学校の数学ではあんな馬鹿な教え方をされたんだろうかと思ったわ
0930デフォルトの名無しさん (ワッチョイ 5b30-7TBo)
垢版 |
2018/10/27(土) 17:38:52.04ID:Ttfv0KRj0
やねうらおとか小学生の時にはもう大学の数学をやっていたというが・・・冗談なのか本当なのかわからんがとんでもねぇプログラマなのは確かだからな・・・
0933デフォルトの名無しさん (アウアウカー Sad3-jr42)
垢版 |
2018/10/27(土) 17:59:56.52ID:p3Z91K38a
P=P-1みたいなのが解らない人は関数型言語に行けば良いんじゃ無いかな。
代数学に比較的近い。
0934デフォルトの名無しさん (アウアウカー Sad3-jr42)
垢版 |
2018/10/27(土) 18:06:00.09ID:p3Z91K38a
>>930
プログラミングに必ずしも数学が得意で有る必要は無いとは言われてるけど、数学得意な人がプログラミング出来るようになる事が多い気はする。
どちらも例外はあるけれども。

少なくともプログラミング関係の専門書って大学数学前提が多い。
前提じゃ無いのはわざわざ高校数学で出来るとか書いてるし。
0936デフォルトの名無しさん (ガックシ 06d9-e7ji)
垢版 |
2018/10/27(土) 18:24:00.38ID:HWNtkJs26
1〜12月を入力し、入力した月の日数を表示する。
これを論理演算子で表示しろという。
else if( month == 3)
{ printf("3月は31日です\n")}
というのを作ったが不可。
論理演算子を使っていないからという。
論理演算子をどう使えばいいんですか。
0943デフォルトの名無しさん (ワッチョイ 614f-SUE8)
垢版 |
2018/10/27(土) 19:54:11.57ID:8fc2vBvs0
>>942
まあ普通はな。
ただそれ以前に、if文11個連ねて書くよりは…のはずだから、
普通は正しく動けばまずはよしで、それより断然いい書き方があるよね、となる。
いずれにしても先生に聞け、でしかないが。
0944デフォルトの名無しさん (ワッチョイ 3f9f-JHIh)
垢版 |
2018/10/27(土) 20:31:12.68ID:FFMC2/bw0
第三回バーチャルYouTuber人気投票リベンジ募集中(全287名、2018年10月27日〜)

あなたの好きなVtuberは?(一人十票)
https://script.google.com/macros/s/AKfycbzW_Er5wP6kI0ZNcmcZVA4UdlXPiernQqL4xG1dVv146T8LwGKZ/exec

・前回(2018/8/22)は不正投票が行われた為、投票を途中で中止させていただきました。大変申し訳ありませんでした。
・Googleフォームは標準仕様では不正投票が可能な為、改造して対策を行いました。
・2018/10/27時点でチャンネル登録数10,000人以上のVtuberを対象としています。
・一つのチャンネルでVtuberが複数人いる場合は、それぞれ分けています。
・一人十票です。(全287名の中からお好きなVtuber10名を選んでください。)
・このフォームに投票するにはグーグルアカウントでログインする必要はありません。
・並び順は前回の得票数の高い順と新人は登録者数の多い順に並んでいます。
・今回も1,000人の方が投票するまで継続します。

なお投票結果はスプレッドシートにリアルタイムで表示されるようにしました。
また【概要】と【詳細】でシートを分けております。
https://docs.google.com/spreadsheets/d/1qvhqRdbbOFGQ2veqrnQmaAXIA79xTAANKUKa3HEUUC0

▽過去の投票結果はこちら

第二回バーチャルYouTuber人気投票結果(2018年6月5日〜8月6日、全投票数1,000票)(スプレッドシート)
https://docs.google.com/spreadsheets/d/1HqVp41DzLXPSuarWKkqNFZRyL20-nkMF5O5kkeEmqnA

第一回バーチャルYouTuber人気投票結果(2018年5月7日〜5月30日、全投票数1,000票)(スプレッドシート)
https://docs.google.com/spreadsheets/d/1uaKoB3pJQHgC9VEkvg74v9OaSNW3Zvccr91mPN1lt5k


tyjty
0947デフォルトの名無しさん (アウアウウー Sa5d-hDoO)
垢版 |
2018/10/27(土) 23:26:48.51ID:tUxhH/wza
>>936
2月は何日で出すんだ?
0951デフォルトの名無しさん (ワッチョイ 5b9f-7TBo)
垢版 |
2018/10/28(日) 00:11:48.31ID:D9Gt7gmT0
>>936
m を月の数として
printf("%d月は%d日です。\n", m, m == 2 ? 28 : (30 + ((m & 1) ^ (m >= 8 ? 1 : 0))));
なんてのはどうかな。年がわからないので2月は28日固定だが。

バグの温床になりそうなので普通はこんな複雑なの書かないが。
0953デフォルトの名無しさん (ワッチョイ 5b9f-7TBo)
垢版 |
2018/10/28(日) 00:23:07.12ID:D9Gt7gmT0
>>952
あー。まあそういうことでもあるか。
0954デフォルトの名無しさん (ワッチョイ 614f-SUE8)
垢版 |
2018/10/28(日) 00:55:30.03ID:0+vzkOx80
>>951
お前ら初心者にも分かる言い方を思いついた。

・コードからお題に戻せるコードを書け

なんだよ。
初心者は「お題○○を実現するコードは?」ばかりやってるから、「お題→コード」の変換ばかり考えるけど、
実際に重要なのは逆で、「コード→お題」の変換なんだよ。
今回の例で言うと、お題は

・月を与えて日数を得る関数

だが、これが重要なのではなくて、

・この関数は、月を与えたら日数が得られる

とコードからお題に『逆変換』出来ることが重要なのであって。
0955デフォルトの名無しさん (アウアウカー Sad3-jr42)
垢版 |
2018/10/28(日) 04:41:04.83ID:vBzuIBdia
それで行くとクイックソートとか最早ムリぽ。

コメント使わ無いのかな。。。
他にも命名規則とか、そう言うので推測し易くしてるもんでしょ。
理想だけじゃ何も書けなくなる。
0957デフォルトの名無しさん (ワッチョイ 614f-SUE8)
垢版 |
2018/10/28(日) 08:48:10.56ID:0+vzkOx80
>>955
コメント自体が既に次善策なんだよ。
可能であれば、コード見たら分かることを目指すべき。

クイックソートが意味不明なコードだとも思わないけど、
あの手の「末端の」関数は適切な名前を付ければそれで問題なくなる。
つまり、sort()なら、「ソートする」と分かり、使う分に支障はないだろ。
数学関数の sin() とかも、実際の中身なんて気にしてないだろ。これと同じ。
問題は、

int d0 = (15657907 >> (m - 1) * 2) & 3 | 28; // 940

int d1 = m == 2 ? 28 : (30 + ((m & 1) ^ (m >= 8 ? 1 : 0))); // 951

では、ぱっと見意味不明だろ。
だから最低限、「関数として切り出して適切な名前を付ける」か、「コメントを付ける」かが必要になる。
これが上記みたいにベタでコメント無しで書かれてたら、殺すぞテメー、になるって話さ。
0960デフォルトの名無しさん (ワッチョイ 614f-SUE8)
垢版 |
2018/10/28(日) 12:53:44.56ID:0+vzkOx80
>>958
それはいつぞやのコードだろ。
末端の関数だから、適切な名前を付けた関数にすれば問題ない。
俺なら count_1_bits か get_nof_1_bits とかにする。
勿論そのコードがベタでコメント無しで書かれてたらアウトだ。

あと、戻り値は int にしておけ。
0963デフォルトの名無しさん (スプッッ Sd9b-UHBe)
垢版 |
2018/10/28(日) 13:45:43.40ID:Bm6vOY0Hd
>>954
かけるようになるのも大事だけど、それよりもまず読めるようになれってこと?
0970デフォルトの名無しさん (アウアウカー Sad3-jr42)
垢版 |
2018/10/28(日) 18:05:27.14ID:vBzuIBdia
逆にちょっと高度になるとみんなダンマリ。
最近久しぶりに来たけど、昔のCスレはこんなんじゃなかった。。。
0972デフォルトの名無しさん (アウアウカー Sad3-jr42)
垢版 |
2018/10/28(日) 18:50:49.19ID:vBzuIBdia
もっと悪くなってるわw

正直、ここの住民がどの程度まで作れるのか分からん。
以前のお題は無視されたから、それ以下だとは思うが。。。
私もたいして書けるわけでもないのに。
(むしろ以前の方が書き込み難かった)
0976デフォルトの名無しさん (アウアウカー Sad3-jr42)
垢版 |
2018/10/28(日) 19:12:09.42ID:vBzuIBdia
>>975
そっちもチェックはしてる。(ほとんど更新されないが)
こっちでも入門書程度のコードは割と出てたと思うんだが、最近全然出ない。
0978デフォルトの名無しさん (アウアウカー Sad3-jr42)
垢版 |
2018/10/28(日) 19:20:12.29ID:vBzuIBdia
>>974
高度過ぎもしないが。。。
>>707
0979デフォルトの名無しさん (アウアウカー Sad3-jr42)
垢版 |
2018/10/28(日) 19:25:59.68ID:vBzuIBdia
>>977
それもチェックしてたわ。
済まんかったね。
うーん。。。
なんて言うのかな。。。
こう言うの作ってて、ここが上手くいかないみたいな質問自体が来ないのかな。
最近だとpythonスレとかが来てる方か。

うん分かった。
もうロムるわ。
0980デフォルトの名無しさん (ワッチョイ e33f-7TBo)
垢版 |
2018/10/28(日) 19:44:14.25ID:lBJoUXxI0
>>970
高度な話がしたければすればいいだろう
みんなダンマリなんて嘘こいてないで

てめーがコード1つ示さない低劣野郎なくせに
スッパマンみたいな威張り方してんじゃねえよbogus
0984デフォルトの名無しさん (ワッチョイ 23f9-DNnX)
垢版 |
2018/10/28(日) 23:07:01.51ID:o1iiiQzo0
>>978
>>707本人か?
あれは質問スレでお題なんてそもそもスレ違いであること、お題としても興味をそそられないつまらない内容であること、1日レスが付かなかった程度でその後の痛々しい反応など、スルーされる要素てんこ盛りで当然の結果だろう。
0985 ◆QZaw55cn4c (ワッチョイ 9360-278X)
垢版 |
2018/10/28(日) 23:49:52.62ID:0CAv0Ngu0
>>984
>1日レスが付かなかった程度でその後の痛々しい反応
こういうのは、何度となくやって、手ひどく罵倒されでもしないと、なかなか身につきませんね
スルー力も大事だし、スルーされることに耐える能力も必要です…
0987デフォルトの名無しさん (ワッチョイ 0781-HyCk)
垢版 |
2018/10/29(月) 00:28:01.98ID:OYdZGMPI0
あとちょっとで終わるから、埋め草
設問が今一分からないんだよね
合計を求める←これは問題の範囲にはないよね
1から順に足していって140まで、
その答えを順に表示しろって事かな?まさかね
合計値を文字列に変換する←何進数か分からない
最後に4桁ってあるから多分10進数でいいんだろうけど
16進数なのかもしれない
(4〜7行目は意味が不明なので読み飛ばした)
保存場所の間違いって何?

客からこんな依頼きたら、頭が変になりそうw
0988デフォルトの名無しさん (ワッチョイ 73d5-nh9x)
垢版 |
2018/10/29(月) 01:57:31.15ID:X3/iEvqW0
除算とその余りで桁を分離できる大発見をしたので、それを解説するためのお題を出しただけでしょ。
情報処理勉強してる学生かな。
プログラム的に役に立つ発見ができて良かったじゃない。
おれも中学生くらいのときにじゃんけんの勝ち負け判定は剰余を使うとシンプルに書ける大発見をして心踊ったもんだ。
0991デフォルトの名無しさん (アウアウカー Sad3-jr42)
垢版 |
2018/10/30(火) 16:13:05.26ID:m+t0SJNKa
>>984
本人よ〜。
だから直ぐ下でロムるって書いた。
じゃあの。
0993デフォルトの名無しさん (アウアウカー Sad3-jr42)
垢版 |
2018/10/30(火) 17:20:26.15ID:m+t0SJNKa
>>992
自分でもそう思ってるのにコードが出てこなくて失望した。
スレ違いにしても誰かしら書くと思ったのに。
まあいいよ。
もうこのスレに期待しない。
バイバイ。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 41日 0時間 16分 26秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況