C言語なら俺に聞け 148
: デフォルトの名無しさん (アウアウカー Sacf-slpW) [] 2018/09/19(水) 17:56:50.83:XSTNMnDwa C言語の話題のみ取り扱います C++の話題はC++スレへ 質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す ttp://https://paiza.io/ ttp://https://ideone.com/ ttp://http://codepad.org/ C11 ttp://http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C99 ttp://http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf ttp://http://kikakurui.com/x3/X3010-2003-01.html C FAQ 日本語訳 ttp://http://www.kouno.jp/home/c_faq/ JPCERT C コーディングスタンダード ttp://https://www.jpcert.or.jp/sc-rules/ ※前スレ C言語なら俺に聞け 147 ttp://mevius.5ch.net/test/read.cgi/tech/1534430162/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured : デフォルトの名無しさん (ワッチョイ 9f02-okpm) [sage] 2018/09/19(水) 18:46:51.43:5wa+YDhW0 JPCERTに書いてある > DCL12-C. 抽象データ型は opaque な型を使って実装する これ、言葉遣いが JIS に準拠してないね - opaque な型 + 不完全型 : デフォルトの名無しさん (アウアウカー Saeb-ACtO) [sage] 2018/09/19(水) 18:51:06.87:SdGhFMnDa おぱきゅー : さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdbf-knbE) [sage] 2018/09/19(水) 18:52:22.93:sSjeJI6sd おぺいきゅー : デフォルトの名無しさん (ワッチョイ 5793-mIvp) [sage] 2018/09/19(水) 20:53:36.31:6LbAKjXm0 あのね opaque を「おぱきゅー」と読むとね、 中がどうなっているか見えないって感じがヒシヒシ伝わるんだよ。 : デフォルトの名無しさん (アウアウカー Saeb-slpW) [] 2018/09/19(水) 21:01:51.92:zcXFtBV7a opaque音頭 : デフォルトの名無しさん (ワッチョイ 7f23-okpm) [sage] 2018/09/19(水) 21:10:39.04:kKUGVzPQ0 ドラハッパー? : デフォルトの名無しさん (ブーイモ MMbb-ck2F) [sage] 2018/09/19(水) 21:40:07.01:aiIpKBDGM 寧ろ向こう側が透けて見えて意味を取り違えそうな… : デフォルトの名無しさん (アウアウカー Saeb-slpW) [] 2018/09/19(水) 21:46:14.52:zcXFtBV7a 透けるトン : デフォルトの名無しさん (ワッチョイ 9780-9b2l) [] 2018/09/19(水) 22:44:21.77:xLP4ypV20 おおきいおっぱいを占領する : デフォルトの名無しさん (アウアウカー Sae9-kke4) [] 2018/09/20(木) 12:33:56.62:irJ5n1n9a おっぱいがキューイングされてる状態だろ : デフォルトの名無しさん (アウアウカー Sae9-rLjT) [] 2018/09/20(木) 12:46:40.86:rEtRtbV+a キューは口を尖らせて発音 : デフォルトの名無しさん (JP 0Hc9-e5An) [sage] 2018/09/20(木) 13:32:01.11:6Uvn6M6wH 俺氏、マジレスするタイミングを完全に失う : デフォルトの名無しさん (アウアウカー Sae9-KpFT) [sage] 2018/09/20(木) 14:06:56.92:4xeYkQf2a 不可視を不完全と呼ぶのはちょっと良くないと思うわ まあ視点が違うんだけども : デフォルトの名無しさん (ワッチョイ 6202-coYL) [sage] 2018/09/20(木) 15:50:43.96:kJMlDz7M0 ピンプル的な意味で「見えない」なら合ってんじゃん : デフォルトの名無しさん (ワッチョイ c964-vX2D) [sage] 2018/09/20(木) 19:19:48.48:fVTsYrUH0 みんなmusl libcとか使ってたりする? プロジェクトの内容だけみると けっこう良さげなんだけど あまり日本語の情報を聞かないし 実際はglibcとかが大半なのかな。 : デフォルトの名無しさん (ワッチョイ be23-coYL) [sage] 2018/09/21(金) 11:19:07.18:7KdLYb7A0 CはGNUが9割 : デフォルトの名無しさん (ワッチョイ 6976-Syfo) [sage] 2018/09/21(金) 17:35:46.83:r4ObfaEn0 c言語本格入門のリスト構造(単方向リスト)が理解できず困っています。 書籍には図を書けば理解できるとあり、ソースにprintf関数をところどころに入れて、ポインタの動きを追いかけていたのですが、余計こんがらがってしまいます。 他のサイトや他者の質問が掲載された掲示板なども参考にしましたが、さっぱりわかりません。 図を描いても理解には繋がりません。 プログラムは250行くらいあり、掲載出来る様なサイトがあれば誘導お願いします。 ポインタの*ptr_now、*ptr_before、*ptr_new の動きと役割が理解できれば、前に進めると思うのですが、知恵を貸して下さい。 : デフォルトの名無しさん (ワッチョイ c123-o0nc) [sage] 2018/09/21(金) 17:44:45.17:TewjjbP30 サイトはにあるのを使えばいいよ : デフォルトの名無しさん (アウアウエー Sa4a-KpFT) [sage] 2018/09/21(金) 17:46:57.36:DzWt0PfVa nowが今いる所でbeforeがさっきいた所でnewが新たに作る所? : デフォルトの名無しさん (ワッチョイ 6976-Syfo) [sage] 2018/09/21(金) 18:05:52.26:r4ObfaEn0 now と before は作業用領域で、newは名前とかを格納しています。 : デフォルトの名無しさん (ブーイモ MM05-Nssn) [sage] 2018/09/21(金) 18:39:31.34:FeY49FdEM とある位置に新しいデータを挿入するサンプルコードなんじゃないか? newが新たに挿入しようとするデータのアドレス、 nowが挿入先の直後のデータのアドレス、 beforeが挿入先の直前のデータのアドレス。 (単方向リストへのデータ挿入は新しいデータを挿入する位置の前後のデータのアドレスが必要のため) ところでnowってスケジュールリストか何かなのか : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/21(金) 18:44:04.65:M1mNaNG00 努力しているようだが、色々おかしい。 > ソースにprintf関数をところどころに入れて、ポインタの動きを追いかけていたのですが ポインタの『動き』ではなく、ポインタの『中身』を追いかけろ。 ポインタは自然言語で言う「ポイントする(指し示す)もの」でしかないから、 正しい物を示しているかどうかだけであって、 それはポインタ自体ではなく、『中身』を見ないと判定出来ない。 > 単方向リスト > *ptr_now、*ptr_before、*ptr_new 単方向リストならポインタは一つだけだし、 > now と before は作業用領域で、newは名前とかを格納しています。 名前の付け方が絶望的におかしい。 多分君の理解が間違っているだけだと思うが、 もしその理解が正しくて、ガチでこんな名前を付けているソースなら、 その本は今すぐ捨てるべきだ。 これはソースを上げれば誰かが見てくれるだろう。 (多分が当たりだろう) 当たり前だが、 1. まず、0,1,2,3... とリストに入れて、それを表示(リストアップ)出来る関数を作れ。 2. 次に、その関数を用いて、挿入等したとき、期待通りにリストアップ出来るか確認しろ。 3. それでバグっているようなら、その後でいちいちIDE等で止めてポインタの値を確認するんだよ。 多分お前はデバッグの仕方もおかしい。 ただまあ正直なところ、このレベルの初心者ならリストなんてどうせ使わないし、 スキップしても構わんぞ。いちいち全部やらなくてもいい。 そんなことより、ゲームを作りたいのならそのゲームを作る方向目指してコーディングしろ。 そのうち、ポインタ等の意味も分かってきて、今回の問題なんて自然に解決出来るようになる。 : デフォルトの名無しさん (フリッテル MMd6-l/4I) [sage] 2018/09/21(金) 19:29:46.56:820RD++bM いちいちそんなに長文で噛み付くようなことか? : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/21(金) 19:50:07.83:M1mNaNG00 ちなみに細かいようだが、 > (単方向リストへのデータ挿入は新しいデータを挿入する位置の前後のデータのアドレスが必要のため) 実際の所、単方向リストなら 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』の間ではない) : デフォルトの名無しさん (ワッチョイ 42c8-coYL) [sage] 2018/09/21(金) 19:54:01.86:7TX+3hKV0 そもそもポインタ自体分かってない説 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/21(金) 19:58:44.97:M1mNaNG00 駄目な事を駄目だとはっきり言っただけだ。 怒られたことのないゆとりには噛みついているようにしか見えないのかもしれないが、 このレベルの駄目っぷりを駄目出ししてもらえない方が問題だろ。 これが許容出来ないのなら、コテハン制の他サイトに行けよ。 どんなアホな投稿でも優しく教えてくれるだろうさ。 ただそれが本人の為になるかどうかはまた別だが、ゆとりにはお似合いだ。 右も左も分かってない馬鹿なんだから普通にIDE使えよ。 printfデバッグなんて(IDEが有料だった昔はさておき) 今のそのレベルの初心者がやるもんじゃない。 まあしかし、お前がそういうのならお前が導いて見せろ。 出来もしないのに文句だけ言うのもゆとりの特徴だとも思うがね。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/21(金) 20:02:21.86:M1mNaNG00 てゆーかマジな話、250行って何だよ? 27のリストなら精々50行だろ。 色々根本的におかしい。 本ではなく、18が根本的に間違ってるんだと思うが。 : デフォルトの名無しさん (ワッチョイ 42c8-coYL) [sage] 2018/09/21(金) 20:16:03.47:7TX+3hKV0 名前ってまさか構造体の名前じゃないよね・・? : デフォルトの名無しさん (ワッチョイ 2260-9U/T) [sage] 2018/09/21(金) 21:44:03.41:JP8I8TZy0 その250行と、printf() を入れてみたけれどもうまくいかなかった、という printf() の挿入場所をこちらに貼ってください ttp://https://ideone.com 話はそれから : デフォルトの名無しさん (アウアウカー Sae9-rLjT) [] 2018/09/21(金) 22:15:10.02:ZlhIYDcEa うまい釣りだ。このままじらしてじらしていつまでもソースを公開しなければこのスレは活性化して書き込みで溢れあっという間に3スレぐらい消費するだろう。流石としか言いようがない。 : デフォルトの名無しさん (ワッチョイ 42c8-coYL) [sage] 2018/09/21(金) 22:19:08.59:7TX+3hKV0 悔しいでも書き込んじゃう : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 00:33:04.56: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; : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 01:01:16.23:16ZpsTnK0 お前も絶望的にダサいコードを書くな。 追加なら、 > ptr_before = ptr_now; > ptr_now = ptr_new; > ptr_before->next = ptr_now; ではなくて、 ptr_now->next = ptr_new; ptr_now = ptr_new; だろ。 つか、単方向リストで before を使う時点で間違い。 : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/22(土) 01:01:57.05:alaCe2UCM で?ってゆう : デフォルトの名無しさん (ワッチョイ 6976-Syfo) [sage] 2018/09/22(土) 01:22:57.20:e+ifojdT0 遅くなりました。 ソース貼ります。 ttp://https://ideone.com/0kDpw1 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 01:42:06.64:16ZpsTnK0 マジで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) だよ。 そうじゃないと複数のリストがあったときに使い物にならないだろ。 マジな話、このソースのレベルの本なら捨てた方がいい。 俺は大学の教材がいいと思うぞ。 (読んでないが)リストならググったら東工大とか出てきた。 ttp://http://www.is.titech.ac.jp/compview/clang/chap11.html : デフォルトの名無しさん (アウアウエー Sa4a-KpFT) [sage] 2018/09/22(土) 01:44:45.64:WyfQotM3a voidはアリだぞ。 仕事だとなぜかvoidを書けと言われるわ : デフォルトの名無しさん (ワッチョイ 4233-tHrl) [sage] 2018/09/22(土) 01:50:27.24:6j6Aecxq0 void show_all() が引数無しの意味になるのはC++。 Cだと show_all(...) と同じ意味になって何渡してもコンパイル通っちゃうからあぶない。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 01:54:37.82:16ZpsTnK0 マジかーと思って linux kernel のコード見たが、書いてるな。 そして K&R 見てみたら、なんとこれも書いてた。 旧来の記法なら書くのが正しくて、物によってはコンパイル通らないとかか? とにかく、 void がクソだというのは取り下げる。 > Cだと show_all(...) と同じ意味になって何渡してもコンパイル通っちゃうからあぶない。 マジ?今まで聞いたこと無かったわ。 しかし ( ... ) と同じ意味なら例の va_list を使う糞コードになるから、 コンパイラのチェックが甘くなるとはいえ、間違って使うって事はなさそうだが。 まあとにかくありがとう。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 02:29:56.24:16ZpsTnK0 何度も言ってるがマジで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; : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 02:55:23.92:16ZpsTnK0 ちなみに一応ちゃんとポインタで書いておくと、以下な。 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; } : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 02:56:59.96:16ZpsTnK0 すまん、42は間違い。 引数を&で受けても意味無いな。書き直す。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 03:03:32.99:16ZpsTnK0 、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; } 君には余計に分かりにくくなったかもしれないけど、こんな感じ。 まあ頑張れ。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 03:13:04.00:16ZpsTnK0 enter関数も作りがおかしい。 25で言ったとおり、 > (挿入するのは『nowとnext』の間であって、『beforeとnow』の間ではない) このソースは before と now の間に挿入しており、明らかに間違ってる。 マジでこの本はゴミだから捨てろ。 : デフォルトの名無しさん (ワッチョイ 6e5b-Nssn) [sage] 2018/09/22(土) 03:44:08.18:wyOkhzEz0 まあいいんじゃね? 処理内容毎に塊を分けて上から順番に並べているのは他人にわかりやすく説明するために都合がいいのだと思う。 きっと書籍では、N行目からM行目まではこんなことをしてます、とか、塊毎に処理内容のコメントが記述されてるのではないかと思う。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 04:34:50.74:16ZpsTnK0 いやこれはさすがにアウトだろ。 実際部下にこのコード出されたら絶句するだろ。 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; } : デフォルトの名無しさん (ブーイモ MMb6-Tz62) [sage] 2018/09/22(土) 06:34:42.89:Ot5g8EvkM もともこもないこというけど カーネルの list.h 使え : デフォルトの名無しさん (スプッッ Sd0a-RfHF) [sage] 2018/09/22(土) 08:07:18.41: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)みたいな感じで返すプログラミングの書き方の例を教えてください : デフォルトの名無しさん (ドコグロ MMf5-GHk6) [sage] 2018/09/22(土) 08:20:30.08:QxjPpR9VM が言ってることすら知らないID:16ZpsTnK0が偉そうに講釈たれてて笑うわ : デフォルトの名無しさん (オイコラミネオ MMf5-KkRk) [sage] 2018/09/22(土) 08:21:44.04:d4QseA9MM その例だと目的が分からないから、 それを何に使いたいのか具体例で書いてくれ。 : デフォルトの名無しさん (ワッチョイ c193-h/KU) [sage] 2018/09/22(土) 08:32:14.74:Yqnou5lg0 このソースでは「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で混乱してきた。 : デフォルトの名無しさん (ワッチョイ c27c-iHci) [sage] 2018/09/22(土) 08:58:29.84:bcuOiC7Q0 リスト操作に特化した関数を作ればいいのに リスト操作といろんな処理を混ぜ込むから見通しが悪くなってる 教育目的ならなおのこと美しく書かないといけないのに : デフォルトの名無しさん (ワッチョイ 429f-m2E0) [sage] 2018/09/22(土) 09:02:41.93:l48TeZqd0 >> void show_all(void) > >なんだこれ?引数 void って初めて見たぞ。文>法的にありなのかこれ? この程度の知識でも偉そうに講釈垂れる事が出来るのがこのスレです : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/22(土) 09:35:47.75:7nPJqZuh0 ワロタ : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 09:48:51.25:16ZpsTnK0 そりゃ糞コードでも動くだろうさ。 しかし教科書でこれはない。マジであり得ないくらい酷い。 必要のない変数を作って保持してるだろ。 走査は25に書いたとおり、(書き落とした点を修正するが) while (now->next && value <= now->next->value) now = now->next; でやるんだよ。そうすれば now と next だけの世界で済む。 enter()も頂けない。これはの指摘通り、 int insert(tag_address* ta) と tag_address* make_new_element(int no, char* name, char* addr) に分けないと駄目だ。 マジでここまで酷いのはなかなか見かけないくらい酷い。 部下がこんなコード書いたら当然突き返す会社が大半だと思うぞ。 例も酷い。これは List ではなく SortedList だし、 そもそもこれをやりたいのならCではなくC++でやるべきだし。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 09:49:43.97:16ZpsTnK0 そこで俺叩きに転じてるのが逆に、お前が馬鹿である証拠だ。 このコードは擁護のしようがないくらい酷い。ど素人でもここまで酷いコードは書かない。 お前にはそれが分からないから俺を叩こうとしてる。 お前みたいな初心者は文法のことばかり気にするが、文法の細かいところは本当に関係ないんだよ。 俺はC++コンパイラを使っているからは関係なかったし、 はそうじゃないから void を書くルールになってるんだろ。 そういうもんなんだよ。 文法的に問題があるケースはルールで禁止されてるか、環境で対策されてる。 まあ俺に文法知識が欠けているのは事実としても、この本がゴミなのは揺るがない。 理由は筆者が馬鹿だから、だから、マジですぐに捨てて他の本/サイトを参考にした方がいい。 嘘だと思うのなら、この事を覚えておいて、 数年後、お前らが上達してからもう一度このコードを見直して見ろ。絶句するから。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 09:56:21.04:16ZpsTnK0 ちなみに余談だが K&R の良い点は、糞コードがないこと、余分な表現がないこと、なんだよ。 無駄を限界まで削ぎ落とした、極めて上質なコードが掲載されている。 筆者が頭が良く、一流のプログラマだからだ。 実際の所、入門書は総じてゴミだ。 これは入門書を書く奴は一般的に一流のプログラマではないからだ。 だから入門書のコードはマジで参考にしない方がいい。 今回のは特に。 お前らが上達すれば、このコードの酷さが分かるようになるだろうさ。 今回の顛末を覚えておいて、数年後に見直して見ろ。マジで。 : デフォルトの名無しさん (ワッチョイ 429f-m2E0) [sage] 2018/09/22(土) 10:10:07.07:l48TeZqd0 うんそだね〜 でもどんな言い訳してもここはC言語スレだしCプラプラコンパイラと言えどCの文法書けるわけだし 初心者に偉そうに講釈垂れるならCの最 低 限の文法くらい知ってた方がいいよ : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 10:24:01.19:16ZpsTnK0 ならお前も18に対して何か為になるレスをしてから言えよ。 お前が俺に粘着する理由が分からん。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/22(土) 10:24:32.03:7nPJqZuh0 たった2レスで粘着 w : デフォルトの名無しさん (ワッチョイ 22f9-xOzC) [sage] 2018/09/22(土) 10:35:54.62:a9vdXzW90 これをやりたいならC++でやるべき、って C言語の入門書のコード例なのに何を言ってるんだ? : デフォルトの名無しさん (ワッチョイ 2e81-coYL) [sage] 2018/09/22(土) 10:42:23.12:AEsgMTAW0 かまってちゃんなんだろう、相手してもらって嬉しそうだ : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 10:42:23.23:16ZpsTnK0 そりゃそうだろ。 俺が文法を知らなかったことは本筋とは関係ないし、 実際、お前ら以外気にしてないだろ。 お前らは役に立つレスを全くしてないし、ただの粘着荒らしでしかない。 なお、知ってるかもしれんが以下だそうな。 > C99にて廃止予定機能となった。C11でどうなったかは不明 ttp://http://d.hatena.ne.jp/eel3/20141005/1412521223 仕様に詳しい人よろしく。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 10:45:11.54:16ZpsTnK0 その点は既にC++で対策されてるから。 書けば分かるが、その例のSortedListなら、C++で書いた方が綺麗に書ける。 C++はその点を対策した言語なのだから、当たり前だが。 : デフォルトの名無しさん (ワッチョイ b105-yLbS) [sage] 2018/09/22(土) 10:54:19.57:BuG7Fz7K0 連投ウザ。 : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/22(土) 10:56:24.32:rjQGIIPhM >> void show_all(void) > >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? 以下のコード見たことありまちゅか〜?wwww #inlcude <stdio.h> int main(void) { printf("Hello World!"); return 0; } : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 11:02:28.11:PGp2AKzL0 こういう簡単なコードの書き方なら 喜々として低学歴知恵遅れのシロウトが喜々として一杯よってくる : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 11:09:05.39:16ZpsTnK0 つか、粘着馬鹿共は誰も役に立つことを言えてない件。 お前らが俺に粘着する意味は何なんだ? なお、一番近いのは std:forward_list でソース例は以下だが、 ttp://https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/bits/forward_list.h 毎回思うがGNUは別の意味で読みづらいから(マクロまぶしすぎ) 今の君には無理だが、可能ならこれを読んだ方がいい。最終的な目標にしとけ。 で既に示した東工大、斜め読みしたが、 1. before 関数 を使って list_add 関数を修正して p の「直後」に挿入 2. before 関数 だから明らかにこっちの方が筋がいい。 2の意味は分からないだろうが、これはコンパレーターであり、関数ポインタに繋がる。 こちらはそもそも教育の現場、やはりちゃんとしている。 こっち使った方がいいと思うぞ。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 11:10:50.53:PGp2AKzL0 低学歴知恵遅れはこの程度のコードしか 理解できないのがよくわかるわ : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 11:13:00.76:PGp2AKzL0 まず質問と関係ない内容で喜々として得意になってレスしてる こういう簡単な内容ならめっちゃ元気 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 11:25:44.82:16ZpsTnK0 ああ、そういえば一応には直球で返した方がいいか?なら、 *ptr_now:今エレメント *ptr_before:前エレメント *ptr_new:新エレメント であり、まんまそのままだ。 ただ、単方向リストで before は履歴が必要だから、このコードは筋が悪い。 単方向リストなら、出来る限り、 *ptr_now:今エレメント *ptr_next:次エレメント で構成されるべきで、この場合には履歴が要らないからより単純なコードになる。 そして東工大はそうだからそっちを参考にしろ、というわけ。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 : デフォルトの名無しさん (ワッチョイ b116-yLbS) [sage] 2018/09/22(土) 11:39:44.40:i0ViPFTS0 やっと気づいた w : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 11:41:41.67:PGp2AKzL0 コードがどういう書かかたされてるとか 質問してるヤツは一切してないからな コレは低学歴知恵遅れの自分が理解できてる範囲のことを コレは低学歴知恵遅れがひたすら連騰してるだけだからな つまりこの質問ではどうでもいいただのコードの書き方 質問してるヤツはどういう動作をして どうデータが格納されてるかを質問してる 低学歴知恵遅れはなんでまともに日本語が読めないわけ まともな教育とは思えないわ。。。 : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 11:45:02.82:PGp2AKzL0 (正)まともな教育を受けてるとは思えないわ。。。 (誤)まともな教育とは思えないわ。。。 つまり まともな教育を受けてない低学歴知恵遅れが このスレにきた初心者にえらそうにしてるわけ わかる? : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 11:47:39.15:16ZpsTnK0 てかマジでこれが助けになると思ってるのか? お前もしかして18なの? なら絶望的に頭悪いし、プログラミングなんて止めた方がいい。 そしてもしこの回答を得る為にひたすら単発で煽っていたのなら、マジでウザイから止めろ。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 ならお前が回答してやれよw お前も回答出来ただろうし、お前はそれが役に立つと思ってたんだろ。 : デフォルトの名無しさん (フリッテル MMd6-l/4I) [sage] 2018/09/22(土) 11:51:25.42:N6pdG9BDM よくわからんけどその本の後の方の章でそのコードを改良して双方向リストの説明でもしてるんじゃないの? 入門書とかだとよく前の章のコードの説明を元に段階的に説明していく場合があるけど : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/22(土) 11:51:52.67:rjQGIIPhM ファイッwww : デフォルトの名無しさん (ワッチョイ 2e81-coYL) [sage] 2018/09/22(土) 11:57:35.70:AEsgMTAW0 ID:16ZpsTnK0 はNGでええやろ : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 11:57:50.23:16ZpsTnK0 双方向リストでもこの意味分からん処理フローにはならないし、 関数ポインタを見据えている東工大の方が数段筋がいいよ。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 : デフォルトの名無しさん (ブーイモ MMed-Nssn) [sage] 2018/09/22(土) 12:19:33.32:ZMLQwSgJM 入門書だぞ? 汎用性や高速性なんて二の次どころか入門書では不要かもしれない。 ポインタの理解も危うい段階でダブルポインタとかlist.hを提示するとか狂気の沙汰だわ。 もしもID:16ZpsTnK0が入門書を書いたらいきなりハードモードでそれこそ役に立たないから即捨て間違いないわ : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 12:30:11.20:PGp2AKzL0 こんな簡単な質問の回答能力があるヤツはいないか まずenter()関数をみなさい まず一回目のenter()で動く箇所はココになる while (ptr_now != NULL) { ・・・ ← ココ } if (address == NULL){ ・・・ ← ココ } それ以外は 一回目と一回目以外、enter()では同じ : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 12:31:13.43:PGp2AKzL0 次にココをみなさい if (no < ptr_now->no) { break; } if (address->no > ptr_new->no){ address = ptr_new; printf("address(enter)=%p\n", address); } ココでなにやってるか 次に考えなさい : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 12:40:05.82:PGp2AKzL0 ttp://https://ideone.com/F3xZFe のコードをCのコードの設定にしてやったから まずenter()とshow_all()の結果をみなさい : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 12:53:15.25:16ZpsTnK0 ならお前がまず何か役に立つ回答をしてから言えよ。 お前だって > *ptr_now:今エレメント > *ptr_before:前エレメント > *ptr_new:新エレメント は回答出来ただろうに。(何故かには感謝されてるようだし) 半角君は少なくとも自分で説明しようとしている分、お前ら粘着単発馬鹿共より数段ましだぜ。 ダブルポインタ云々ではなく、18はまず、 1. リスト構造自体を理解出来ていない 2. 多分ポインタも怪しい 3. そもそも全くプログラムが追えてない だから、IDEで全関数の頭にブレークポイントで気が済むまでステップ実行させるべきだろ。 printfデバッグなんて何でこいつがやる必要があるんだ? このレベルの入門書ならIDEの使い方から教えるべきだろ。 そして教科書のコードはそれとなしに汎用性があるコードであるべきなのさ。 東工大はこれを満たしてる。この本は全然駄目だ。その違いだよ。 勿論東工大は最初からEcilpse + CDTだ。 ttp://http://www.is.titech.ac.jp/compview/clang/chap1.html 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 ただマジな話、18はプログラミングは全く駄目なタイプだと思うぞ。 数学の素養/素質がない奴は、努力しても上達しない。 プログラミングは暗記で対応出来るものではないから。 プログラミング自体を止めた方がいいと思うよ。マジで。 : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 12:59:10.11:PGp2AKzL0 printfで十分わかるからな IDEは低学歴知恵遅れに必要 : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/22(土) 12:59:52.28:rjQGIIPhM >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? 👀 Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b) : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 13:02:56.96:PGp2AKzL0 むしろ ID:16ZpsTnK0 ← コイツ が一番プログラミングに向いてない その自覚がない しかも相当自分の頭の悪さの自覚がない 致命的 : デフォルトの名無しさん (アウアウカー Sae9-KpFT) [sage] 2018/09/22(土) 13:09:23.43:ymnIe1Eqa 説明が下手なのは無能の証というね : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 13:10:24.37:PGp2AKzL0 そもそもデバッグライトは プロのプログラミングの世界では重要な技術要件だからな 問題が発生したとき 速やかに問題点の発見ができるようにする助けになるのが デバッグライト 問題が発生したとき まずデバッグモードでコンパイルしてデバッグライトの出力して なぜ問題が発生しているか原因をすみやかに発見する 幾重にも重なった巨大なシステムになるほどデバッグライトの出力は重要になる 役に立つわかりやすい適切なデバッグライトを書けるか書けないかで だいたいそいつのオツムの程度が分かる : デフォルトの名無しさん (ワッチョイ c193-h/KU) [sage] 2018/09/22(土) 13:12:16.17:Yqnou5lg0 今日はいつもの「低学歴知恵遅れ」の人 ID:PGp2AKzL0 と 新たに登場した ID:16ZpsTnK0 の東工大ファンの人がいるのか。 : デフォルトの名無しさん (ワッチョイ b147-yLbS) [sage] 2018/09/22(土) 13:12:58.27:UXUgdVRN0 捨てろ連呼ウゼエw : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 13:16:47.33:PGp2AKzL0 さらにいえば低学歴知恵遅れに作らせると 一切ログが出力されない知恵遅れなシステムになる エラーとしか出力されない もしくはエラーが発生してハズなのに正常終了して 停止せずに次の処理にいってしまう : デフォルトの名無しさん (ワッチョイ c212-yqSl) [sage] 2018/09/22(土) 13:21:17.50:sYLo1So00 voidとIDE…… Java上がりか? : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 13:24:22.34:PGp2AKzL0 オレの説明はカンペキだからな : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 13:28:52.60:16ZpsTnK0 一応東工大の全部読んだぞ。 俺は東工大の教材の方がずいぶんましだと思うが。 概ね初心者向けによく書けてる。(当たり前だが) > int main() { > struct schedule* list = NULL; > list = list_add(list, 2009, 1, 1, 0, "元旦"); 毎回書き戻すこのインタフェースについては若干検討の余地ありだけども、 ダブルポインタも難しいというのならこれでも致し方無しか。 ただこれだとインミュータブルの言語では複数ヶ所から使用出来なくなるから、 やはりオブジェクト指向で list->add() と書く癖を付けた方がいいし、 リストなんて使いたければ素直にC++使えってことだと思うけどね。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 まあのコードのゴミっぷりが分からないうちは大口叩くのは止めとけ。 そしてこれを覚えておいて、数年後に見直してみろ。 俺が何言ってたか分かるから。 ファンではないぞ。偶々ググったらヒットしただけ。 ただ、概ね大学の講義資料は良く出来てるよ。 これまでも、他大学を含めて何度もURL貼ったことがある。 (良く出来ているのが検索上位に来るだけかもしれないが、 それでもそれを有り難く利用させてもらえばいい) : デフォルトの名無しさん (ブーイモ MMed-Nssn) [sage] 2018/09/22(土) 13:29:39.28:c//Edh7FM えー、あなたより先にそれ答えたけど。 単発idはnvno業者のせいなんで文句言われても困る。 ちょっとポインタで躓いたくらいでやめたほうがいいとかどんだけハードル高いんだよ。 あなたは下っ端が向いてそうだから間違っても後輩の教育係にはならんようにな。 : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 13:30:53.14:PGp2AKzL0 まずオマエの場合、 自分がゴミでクズの低知能の低学歴知恵遅れの自覚がない そこが問題 講義用のプリント読んでもその程度だからな : デフォルトの名無しさん (ワッチョイ 22f9-xOzC) [sage] 2018/09/22(土) 13:31:56.76:a9vdXzW90 とりあえず、人に説明するのにやたらと攻撃的だったり高圧的だったりする奴は向いてないな。 : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 13:33:54.35:PGp2AKzL0 低学歴知恵遅れがなにも理解できてないのに 分かったつもりになれる そういう意味で東工大のプリントは優秀 : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 13:40:00.87:PGp2AKzL0 最近話題の池上と似ている 頭悪い池上のいってるどうでもいいことや池上の本を読んで なんか分かった気になれるのととても似ている : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 13:42:35.36:16ZpsTnK0 お?お前のレスってどれ? とりあえず本日分全部言って。(IDと同じ条件になるように) 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 : デフォルトの名無しさん (アウアウエー Sa4a-KpFT) [sage] 2018/09/22(土) 13:43:22.87:WyfQotM3a まあこういうのは結局かけた時間だから。 同じこと繰り返しててもあかんけどね : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 13:47:10.22:PGp2AKzL0 まずオマエはな 本格的なプログラミングより 自分の本格的な頭の悪さを自覚したしたほうがいい : デフォルトの名無しさん (オイコラミネオ MMd6-rhI1) [] 2018/09/22(土) 13:49:03.34:QTHsDkPYM やっぱC++は糞だな 信仰してるやつ含め : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 13:49:39.33:16ZpsTnK0 > ちょっとポインタで躓いたくらい ではないぞこれは。 そして俺の経験上、プログラミングは A. 勝手に上手くなる B. 徐々に上手くなる C. 全く上手くならない(本人が努力してても) のタイプがいる。以前は不思議だったのだが、最近だんだんとこの理由も分かってきた。 で、悪いが、18はCタイプだ。 というかそもそも昨今の「全国民がプログラミングを」みたいなのが間違ってて、18はそれの被害者だ。 と見てるからの助言だが、君が18を正しく導けるならどうぞやってみてくれ。 それについて俺が反対する理由もないし。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 13:52:47.31:PGp2AKzL0 デバッグライトすら書けないヤツが 自分が十分なプログラミングができると思い込んでるわけ 典型的なダメな使えないヤツの典型だからな オマエ自身が向いてないまず自覚をもつが先だ とてつもない低学歴知恵遅れで底辺である自覚ももつべき : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 13:58:31.83:16ZpsTnK0 C++は最近は迷走中だが、少なくとも改善版Cであることは事実なんだよ。 SortedList ならクラスを使えば綺麗に実装出来る。 文法についても問題があったについて対策済みだろ。 いまいち最近のお前らが言語間で争う意味が分からない。 俺はbetterC派だから、生粋のCerからも生粋のC++erからも叩かれる存在ではあるのだが、 昔はこんな事なかったと思うんだけどね。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 14:02:20.79: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) だよ。 そうじゃないと複数のリストがあったときに使い物にならないだろ。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 14:03:39.37:16ZpsTnK0 結局明示無しか? まあの流れなら、 少なくとも73は「未回答、または回答不十分」だと見なしていたわけだよ。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 14:09:51.43:PGp2AKzL0 たとえば夜間バッチが動いて エラーが発生する ID:16ZpsTnK0 ← こういうヤツに 好きに作らせるとなんでエラーが発生したわからない様な テロコードを書く しかも無意識、そんなコード書いてもなにが悪いかもわからない こんなヤツにコードを書かせる場合、強力な監視が必要になる その労力に半端ないぐらいのムダが発生する : デフォルトの名無しさん (ワッチョイ c27c-iHci) [sage] 2018/09/22(土) 14:21:45.13:bcuOiC7Q0 ポインタは入門書読んだときは簡単と思ったけど規格書読んでみたら難しいと思ったな 例えばC++でtype punningを規格に沿った形で実現できるのか memcpy使っても規格を見ると怪しいと聞いてもうね どうすりゃいいのよ : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 14:31:58.80:PGp2AKzL0 むしろポインタなんかどんなアホでもすぐに理解できる そっから先で道を誤るヤツのほうが多い 低学歴知恵遅ればっかりのこのスレみればわかるとおり : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 14:37:01.37:PGp2AKzL0 だいたいアホはシステムというもんが分かってないからな シンタックスをしってて、動きさえすれば それでなんでもできるもんだと勘違いしてる低学歴知恵遅れのスクツがココだからな 低学歴知恵遅れの万能感は半端ない 低学歴知恵遅れはどんだけゴミクズでどんだけ自分が致命的に頭悪いか その自覚がない : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 14:44:01.16:16ZpsTnK0 unionのことならC++では「絶対に書け、でないと動きを保証しない」なんだろ。 俺はそれは糞で、C流の「つべこべ言わず書いたように動かせ」の方がいいと思ってる。 C++は「書いたように動く」事よりも、「自動的に速くなる」方を選んでる。 それでいい分野も多いが、不味い分野もある。 だから結果的に棲み分けされてしまう。 以前C++スレで出たはずだが、 俺はあの仕様の問題は、関数ごとに最適化条件を変えられないことにあると思うよ。 unionなんて触るのはごく一部の関数だし、そこだけ最適化を解ければ済むこと。 C++は「ソースはこう書くべき」なんてやってるからそういうのを認めない。 これが良くない。 : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 14:56:37.58: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; } なんで低学歴知恵遅れは自分の極端に狭い了見で すぐにしったかすんの? : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 15:00:47.10:PGp2AKzL0 低学歴知恵遅れは低学歴知恵遅れの自覚は一切なく 自信満々でテキトーなことをいうからな : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/22(土) 15:08:28.87:7nPJqZuh0 いいぞ もっとやれ : デフォルトの名無しさん (ワッチョイ c27c-iHci) [sage] 2018/09/22(土) 15:19:40.54:bcuOiC7Q0 C++はunionでもだめらしい なので memcpy でもそれも怪しいと どこだっけ C++ カンファレンスなんかで出ていた話題 テストをたくさん作って開き直るしかない面がある C99とgcc拡張ではokなんだけど : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 15:39:17.37:16ZpsTnK0 見ての通り、俺は規格に詳しいわけではないので、 申し訳ないがそれ以上は分からん。 ただ、C++もバリバリの実用言語だから、 何らかの手段は提供しているとは思うけど。 : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 15:42:51.93:PGp2AKzL0 要するになにも知らないわけか で、オマエはなにをしっててこのスレに書きこんでるわけ? : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 15:44:50.26:PGp2AKzL0 つまり低学歴知恵遅れが とりあえず行き当たりばったりのコードをとりあえず書いて IDEでトレースデバッグならできますと そう自己紹介してたワケか : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 15:52:07.27:PGp2AKzL0 まさに 結果としてとりあえず動きさえすればいいという低学歴知恵遅れの思考回路といっていい まさに地雷 : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/22(土) 16:15:07.77:rjQGIIPhM お、決着付いたかw : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 16:22:40.01:PGp2AKzL0 決着なんかついてない 低学歴知恵遅れのレスなんか情報価値ゼロだからな ココまでのレスは低学歴知恵遅れの落書き ただの低学歴知恵遅れのノイズ オレのエレガントな回答()に質問したヤツが このあとどう考えることができるかがココでは重要なワケだからな : デフォルトの名無しさん (ワッチョイ cde3-tHrl) [sage] 2018/09/22(土) 16:48:54.50:OhNgC4130 低学歴知恵遅れ君が見事にスルーされててワロタ お前ら流石だなw : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 16:53:47.18:PGp2AKzL0 スルーじゃない オレのレスは一切のスキがないほどカンペキなレスだからな オレのレスにレスすらできない : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/22(土) 18:32:31.91:7nPJqZuh0 よくやった : デフォルトの名無しさん (ワッチョイ c212-yqSl) [sage] 2018/09/22(土) 20:07:04.73:sYLo1So00 ミスを取り繕おうとして必死に足掻く人間の尊い姿が見れました 今日はこれでおなかいっぱいです : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 20:24:37.68:16ZpsTnK0 こんな感じ? ttp://https://stackoverflow.com/questions/25664848/unions-and-type-punning ttp://https://adriann.github.io/undefined_behavior.html Cならunionでよし、C++ならさらに one active を守れ、というところか。 : デフォルトの名無しさん (アウアウカー Sae9-kke4) [sage] 2018/09/22(土) 20:28:37.33:IQP82yEia ここCだからC++の話は他所でやれ : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 20:44:12.64:16ZpsTnK0 strict aliasing はCもだけどな ttp://http://d.hatena.ne.jp/yohhoy/20120220/p1 : デフォルトの名無しさん (ワッチョイ 62f3-coYL) [sage] 2018/09/22(土) 21:03:12.63:1VdbYLFX0 > とにかく、 void がクソだというのは取り下げる。 いや、voidはクソだぜ K&R Cでは「引数が0個でなければならない」とか 「返却値は使用禁止」といった概念がなかったので (void) のようなシュールな構文を後付けせざるを得なかったが () で引数0個にならないというクソルールを上塗りする形で登場したものだ クソルールの延長はずっとクソだ : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 21:04:50.64:PGp2AKzL0 ぜんぜん違う プロトタイプ宣言を厳密にできるようにしてるだけだからな : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 21:08:08.86:PGp2AKzL0 昔のCはプロトタイプ宣言すらなかった 引数の数や順序の誤りがかなりのバグの温床になってたからな : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 21:13:19.69:PGp2AKzL0 やっぱりな低学歴知恵遅れは なにも知らないくせにテキトーなことばっかりいうのがよくわかる 低学歴知恵遅れが二匹以上あつまると ものすごい頭悪いレスに対してでものすごい頭悪いレスで スレが成立することになる : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/22(土) 21:31:49.36:16ZpsTnK0 それについては、ここにいる大半の初心者も含め、 ・CコードをC++コンパイラでコンパイルする で解決出来るだろ。 当たり前だが問題になる仕様は修正されているし、 C++と非互換部分に当たったらその時に考えろ、でいい。 勿論C自体の仕様が変更される方がいいが、それをここで言っても意味無いし。 C++98辺りまでは(C++03もか?)完全上位互換だったはずだし。 : デフォルトの名無しさん (ワッチョイ 62f3-coYL) [sage] 2018/09/22(土) 21:35:32.58:1VdbYLFX0 おーいバカ、息してるか? 135に即レスされてんな : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 21:36:45.21:PGp2AKzL0 オマエはその初心者にすら到達してない その自覚がない 基本的なことすら分かってないくせに しょうもないエイリアシングの受け売り日記読んで それでなにか分かった気でいるワケだからな : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 21:37:45.25:PGp2AKzL0 いやオレが書いてることはなにも間違ってない なにも書かなかったら int 返す関数にされてしまうからな : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 21:40:18.41:PGp2AKzL0 ホントに低学歴知恵遅れは なにも分かってないらしいわ : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 21:41:46.14:PGp2AKzL0 低学歴知恵遅れが ムリして頭いいふりしようとしても 頭悪いのなんかすぐにバレるからな 残念なことに 本人は気付いてないかもしれないが いちいち頭悪いですと自己紹介するからな 残念なことに : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 21:44:28.90:PGp2AKzL0 まともな教育を受けているば 低学歴知恵遅れセンサーの感度はよくなる レスみれば コイツ低学歴知恵遅れとすぐに分かるワケ コレはマジな話だからな 低学歴知恵遅れにはそういうセンサーは内臓されてない そいつ自体が低学歴知恵遅れだからな : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/22(土) 21:55:46.74:7nPJqZuh0 なんで半角で書くの? : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 21:57:20.87:PGp2AKzL0 なんで全角で書くの? : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/22(土) 21:57:59.62:7nPJqZuh0 変換候補のトップに出てくるから : デフォルトの名無しさん (ワッチョイ 6e5b-Nssn) [sage] 2018/09/22(土) 22:00:48.10:wyOkhzEz0 > C++98辺りまでは(C++03もか?)完全上位互換だったはずだし。 おい大丈夫か? : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 22:01:07.16:PGp2AKzL0 半角のほうが横文字が見た目冗長じゃなく読みやすいから 行あたりの情報量が多く視認性もよい : デフォルトの名無しさん (ワッチョイ 62f3-coYL) [sage] 2018/09/22(土) 22:05:35.54:1VdbYLFX0 ホントに青二才は なにも分かってないらしいわ 青二才が ムリしてベテランのふりしようとしても ニワカなんかすぐにバレるからな 残念なことに 本人は気付いてないかもしれないが いちいち頭悪いですと自己紹介するからな 残念なことに : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 22:06:57.06:PGp2AKzL0 相当悔しいらしい : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 22:08:38.78:PGp2AKzL0 しかしな キミラが相当頭悪いというのは 間違いなく事実だからな 残念なことに その自覚がないのが相当致命的であるだけであってな : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 22:11:26.83:PGp2AKzL0 ID:1VdbYLFX0 ← コイツは低学歴低知能底辺の高齢ITドカタ オレぐらいのレベルになると レスでだいたい社会的特徴まで 概ね推認できるようになる : デフォルトの名無しさん (ワッチョイ 2e81-coYL) [sage] 2018/09/22(土) 22:12:31.90:AEsgMTAW0 始まった頃のパソコン通信だと、 アルファベットとカタカナしか使えなかったっけ 一度これをやってみてくれないか? 本当に行当たりの情報量が多く、視認性が良いか確かめてみて : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 22:14:43.13:PGp2AKzL0 漢字がないと読みづらいにきまってるだろ 頭悪いの? : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/22(土) 22:16:23.82:PGp2AKzL0 KANJI ga naito yomizurai ni kimatterudaro ATAMA WARUI NO? : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/22(土) 22:24:34.83:rjQGIIPhM ほんとだ!全部半角で読み易い!! : さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd62-gRel) [sage] 2018/09/22(土) 22:27:04.62:UJtJ/FuZd 全部空白にすると読むストレスが大幅に軽減されるよ。 : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/22(土) 22:56:20.90:7nPJqZuh0 それを根拠に一人だけしかやってなくて目立つ行動を続けてきたというワケか なるほど。 : デフォルトの名無しさん (ワッチョイ 62f3-coYL) [sage] 2018/09/22(土) 23:02:48.16:1VdbYLFX0 効いてる効いてるw : デフォルトの名無しさん (ワッチョイ c212-yqSl) [sage] 2018/09/22(土) 23:48:59.10:sYLo1So00 >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? これが今年の大賞候補 : デフォルトの名無しさん (ワッチョイ 01f2-coYL) [sage] 2018/09/23(日) 00:02:26.39:ZzaracLF0 ヘ_ヘ ミ・・ ミ ( )〜 : デフォルトの名無しさん (アウアウカー Sae9-kke4) [sage] 2018/09/23(日) 00:05:07.81:GlsCxAATa void 引数を初めて見たってのがなかなか : デフォルトの名無しさん (ワッチョイ 22f9-xOzC) [sage] 2018/09/23(日) 01:02:52.16:A0stA7Ax0 お前さんのレスは毎度毎度同じような汚い言葉繰り返して冗長なんだから、まずそれを治せよ。 行当たりの情報量、かなり低くなってるぞw : デフォルトの名無しさん (ワッチョイ 469f-3QZN) [] 2018/09/23(日) 01:34:39.73:s92HkKLC0 すごい。もうこんなに書き込みが増えているなんて。さすが。 まさかこんなにすごい釣り名人がこのスレに現れるとは思わなかった。 : デフォルトの名無しさん (ワッチョイ 469f-3QZN) [] 2018/09/23(日) 02:16:32.82:s92HkKLC0 ああ。名言だね。 : デフォルトの名無しさん (ワッチョイ 469f-3QZN) [] 2018/09/23(日) 02:18:19.58:s92HkKLC0 お久しぶりです。 : デフォルトの名無しさん (ワッチョイ 42eb-Lcjh) [sage] 2018/09/23(日) 02:46:55.57:NZFTE96P0 まあ、質問者は運が悪かったかなーとは思う。 「俺の言ってることが正義」「それを理解できないのはお前が悪い」 みたいな教え方は、初心者にとっては助けにならないんだよね。教師としては(ry ポインタがあまり理解できてない、という時点で、初心者スレ(C/C++室)に 誘導してあげた方が、初心者と同じ目線でのレスがもらえたかもだ。 : デフォルトの名無しさん (ワッチョイ c964-vX2D) [] 2018/09/23(日) 03:20:49.83:D4/zD5nR0 なるほどね……。 いやGNU LibCは過去互換性やらいろいろで ややこしそうな印象がある一方で Musl LibCはC99対応を謳ってる新規プロジェクトだから 取り組みやすいかなと思ったんだけど やっぱり知名度が低いライブラリは避けるべきよね : デフォルトの名無しさん (ワッチョイ 625d-Z6AH) [sage] 2018/09/23(日) 07:28:43.63:F+fmWasg0 ワンツーフィニッシュ! ttp://http://hissi.org/read.php/tech/20180922/ : デフォルトの名無しさん (ワッチョイ 62f3-coYL) [sage] 2018/09/23(日) 07:32:52.82:A6XCmyXs0 w : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/23(日) 10:29:46.37:2VtMIRxv0 ゆとり死ね。だからお前らは駄目なんだ。 まあ俺はゆとりとついでにさとりも殺処分するしかないと再認識したがな。 ここはどんなクズでも手取り足取り教えてもらえる学校のような場所ではない。 読者参加型ですらなく、全員参加型の場所なのだから、改善はお前自身で行わなければならない。 (これは社会も同じ。理解出来ないのはお前が学生またはその程度だからだ) 不味いパン屋に文句を言ったところでパンが美味くなることはない。 美味いパン屋を自分で建てるか、誘致するか、自分で探して買いに行くなりしなければならない。 その結果、不味いパン屋は倒産し、美味いパン屋だけが繁盛して残る。 結果、社会全体で見ればよりおいしいパンを手に入れられるようになる。改善するわけだ。 ここも同じだ。 他人のレスに文句を言っても何も変わらない。 良いレスを自分でするなり、適切なスレが他にあるのなら誘導するなり、 改善する活動は自分自身で行わなければならない。 お前らはこれを全くせず、文句しか言えない。だからゆとりが集まっても何も改善しない。 これは、長期的に日本を悪くして行っている。 教え方を知っているつもりなら、何故お前が教えてやらない? 他の良いスレを知っているのなら、何故そこに誘導してやらない? この点において、何度も言っているが、半角君の方がまだましだよ。 彼は少なくとも自分で改善しようと試みてる。 不味いパン屋を出店することが法的に規制されていないのと同様、 ここでは下手くそなレスを連発することも規制対象にならない。 なら、自分がより良いレスが出来ると思うのなら、何故やらない? お前らは根本的に考え方がおかしい。 だから文句を言われるのだが、それが何故かも理解出来てないだろ。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/23(日) 10:30:10.73:2VtMIRxv0 話は簡単だ。相手より良いレスで相手のレスを「上書き」すれば良いだけだ。 おいしいパン屋が結果的に不味いパン屋を蹂躙するのと同様、 お前のレスが下手くそなレスを蹂躙すればいいんだよ。 もっとも、どのレスに価値があるかは読者が判断することであって、 お前らみたいにわーわー騒いで勝ち、という幼稚園児レベルの話でもないがな。 質問者、或いは同様の事で悩んでいる奴らは、全部のレスを読むだろう。 その結果、「このレスのおかげで理解出来た」というのは自然に発生していく。 それが勝ち負けに対する一票であり、その投票で勝ち負けは決まる。 この点において、俺がお前らに「負ける」事は絶対にあり得ない。 お前らは何ら「役に立つ『可能性』のある」レスをしていないからだ。 他人に文句しか言っていない。 自分の候補を持ってないから、お前らが勝つことは原理的にない。 ここで、『可能性』に言及したのは、これこそが改善の原動力だからだ。 お前らも、自分のレスの方がいい『可能性』があると信じるなら、どんどんレスをすれば良いんだよ。 この点において、半角君自身は彼のレスこそが至高であり、俺のレスなんてゴミだと信じているわけだから、 当然俺のレスを貶す。 まあ必要以上に粘着されているが、彼が俺を貶すのは、この点において理に適っている。 それが行儀がいいかどうかは、読者の判断に委ねればいい話だ。 もし彼のレスで「分かった!」となる奴がいたら、彼の勝ちでいいわけだし。 そしてこの点において、お前らには本来は文句を言う権利もない。 お前らは俺のレスを上書きする為の「お前ら自身のレス」がないのだから。 俺は俺のレスがある。半角君は半角君のレスがある。これでレースは成立する。 お前らにはレースに出走するレスすら存在しない。当然レースには参加出来ない。 お前らはこのことも理解出来ない馬鹿なんだよ。 だからゆとりは死ねといわれる。これも妥当な話だ。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/23(日) 10:31:15.69:2VtMIRxv0 俺はに必要なのはIDEであって、話はそれからでいいと思うぞ。 そして今の判断では、18はプログラミング向きではないから、止めた方がいいと思うし、 それ以前に何の為にプログラミングしてるか謎なのだが。 学校の勉強として出てくるプログラミングを先に予習するつもりなら、止めとけ。 数学と物理を勉強しておいた方が、結果的にプログラミングの学習は早い。 だから学校の勉強を頑張っておいた方がいい。 : デフォルトの名無しさん (ワッチョイ 62f3-coYL) [sage] 2018/09/23(日) 11:41:27.01:A6XCmyXs0 ネオvoidが今日も暴れる 駅前で不特定多数を叱り飛ばしている危ないオヤジさながら : デフォルトの名無しさん (ワッチョイ c212-yqSl) [sage] 2018/09/23(日) 12:19:44.35:daMeAE670 voidおじさん誕生の瞬間に居合わせることが出来てわたしはとても幸せです : デフォルトの名無しさん (ワッチョイ b163-yLbS) [sage] 2018/09/23(日) 12:25:48.45:HrTZFmBf0 ここは質問に答えるスレだ おまえは半角君に感化されてようやく質問に答えた 最初のおまえの行為を正当化する道理はない : デフォルトの名無しさん (ワッチョイ 22f9-xOzC) [sage] 2018/09/23(日) 12:28:32.40:A0stA7Ax0 は悪くないのに、とばっちりを受けたようなもんだね。 初心者なら別に珍しくもないレベルの疑問や理解不足なのに、たまたま答えた奴が自分のミスを指摘されたことに逆上して他のところに八つ当たりをしているだけのように見える。 : デフォルトの名無しさん (アウアウエー Sa4a-KpFT) [sage] 2018/09/23(日) 13:05:05.36:0tCq7KCLa あの人は基本的には短文だけどね : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/23(日) 13:07:20.90:2VtMIRxv0 ゆとりはマジで死ね だからそれはお前自身がまず役に立つレスをしてから言え。 そしてそれが本当に役に立つのなら、誰がどういうレスをしようが話はそこで終わる。 質問者はそのレスだけでおなか一杯になるし、それで十分だからだ。 他人のレスにどうこう言う話ではない。 そもそもここで他人に期待するのが間違っている。 各自は勝手にレスするだけ。 回答する自由もあるし、無視する自由もある。勝手なことを述べる自由もある。 お前は根本的に勘違いしている。自分でやらないといけないんだよ。 そもそもお前は何故回答しなかったんだ? それを棚に上げて、お前は何を言ってるんだ? お前が正しく回答すれば、それで終わった話ではないのか? ゆとりがいくらいても何も改善しない。だからゆとりは殺されるべきなんだよ。 正しく理解して死ね。 お前らより、半角君のほうが数段ましだ。 彼が100人いたら、100通りの回答は出てくるだろうし、どれかは当たるだろう。 お前らが100人いても、文句ばかり言って、誰も何も回答しない。何も改善されない。 そもそも、が回答になっていると思う馬鹿共は、のソース読んでないだろ。 それでどうしてそんなに強気で批判出来るのか。頭おかしいとしか思えないぞ。 72の「直接的回答」では18の手助けにはならない。 少なくとも、それで解決する奴なら、そんな引っかかり方はしない。 俺の回答は、「色々間違ってるから納得いくまでIDEでステップ実行しろ」だ。 これ以上の回答が出来るつもりなら、やれば良いだけだ。何故それをしない? そして、半角君はそれをやってるだけだ。お前らより数段ましだ。 : デフォルトの名無しさん (ワッチョイ 469f-coYL) [] 2018/09/23(日) 13:23:18.60:s92HkKLC0 そうだね。「レスってなんですか?」みたいな。 : デフォルトの名無しさん (ワッチョイ 469f-coYL) [] 2018/09/23(日) 13:34:52.85:s92HkKLC0 ゆとりと言えば現在52歳以下の大半はゆとりなわけで、ほとんどゆとりがゆとりを叩いているだけだ。目糞鼻糞を笑うみたいな感じ。 50代も20代の頃には「新人類」とか呼ばれていた。おそらくそう呼んでいた側も若い頃は色々言われていたんだろう。 いつの時代も歳よりは若い者に難癖を付けて嫌がるものだ。自分のお株がどんどん奪われて行ってしまうからな。 若いやつを嫌がるようになったらもうほとんど終わったと思った方が良い。 ttp://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年度生まれ以降。 : デフォルトの名無しさん (ワッチョイ 469f-coYL) [sage] 2018/09/23(日) 13:36:44.51:s92HkKLC0 ああ、そうだ。14歳以下はゆとりではないな。失礼。 : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/23(日) 14:00:28.93:A9/M/+R7M 昨日のやつまだ暴れてんのか 3行でたのむわ : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/23(日) 15:20:08.05:2VtMIRxv0 > 現在52歳以下の大半はゆとり まずお前は算数からやり直した方がいい。 > いつの時代も歳よりは若い者に難癖を付けて嫌がるものだ。自分のお株がどんどん奪われて行ってしまうからな。 これは違う。 というか、ゆとりはこの方法でもっとゆとり批判の陳腐化を仕掛けるのが常だが、これは間違いだ。 いつの時代も、最近の「天気」「若者」「言葉」はおかしい、と言われてきた。これは事実だ。 ただ、ゆとりの場合、逆に > 自分のお株がどんどん奪われて行ってしまうからな。 これがないから批判されてる。 教育システムは単調増加で整備されていく。 先生も教材もこなれてくるからだ。 先生は先生なりに努力はしており、上手い教え方が見つかれば共有されていく。 (それの最たる物が予備校だったわけだが) 勿論クズ教師もいるが、それ以外が大半だから、全体的には改善していく。 プログラミングにおいては、無料IDEが何種類も普及し、言語も選べるようになった。 PC(実行環境)が家にあるのは当たり前になった。 家で実行する術もなく、無料IDEもなく、C言語しかなかった時代はほんの15年前だ。 それからすると雲泥の違いだ。 だから、『同じ努力をしたとき』同じ年齢で比較すれば、常に実力は 新世代 > 旧世代 の図式が成り立つ。 よって、いつの時代も、実力は 旧世代の今 >>> 新世代の今 > 旧世代(新世代と同年齢時) だった。 これが、 > 自分のお株がどんどん奪われて行ってしまうからな。 に繋がる。繰り返すが、これは『同じ努力をしたとき』の話でしかない。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/23(日) 15:20:35.45:2VtMIRxv0 問題は、ゆとりは努力をしてきてないことだ。 だから、これが成立しない。ゆとりが叩かれているのは、ひとえに、旧世代から見て、 「昔の俺より明らかに酷くね?」と思えるからだ。 逆に言えば、それ以前の若者批判は、 「最近の若者は酷い」「じゃあお前の若い頃はどうだったんだ?」「…(いや確かに酷かったわ)」で済んでた。 それがゆとりは成立しないから叩かれてる。つまり、 「ゆとりは酷い」「じゃあお前はどうだったんだ?」「さすがにこんなんじゃなかったよ!」なわけだ。 (勿論、飲みニュケーションなんて意味無いし糞ウゼエとは俺も思ってたから、 ゆとり(というより新世代)の価値観に共感出来る面はあるにしても) プログラミングでも同じだ。 環境は圧倒的に新世代の方が上だから、旧世代の『当時の』実力に追いつくのは圧倒的に楽だ。 それは旧世代の成果だが、新世代なのだから有り難くそれを享受すればいい。 東工大含め、各学校がシラバスを上げているのもそういう流れだ。 そしてその後の新々世代は、さらにそれを享受し、新世代をも凌駕する速度で学習すればいい。 そうやって世の中は回っている。 だから新世代は旧世代を凌駕してくれないと困るんだよ。 ゆとりはこれがないから叩かれてる。 お前らが思っているのと逆なんだ。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/23(日) 15:21:23.36:2VtMIRxv0 2chについては、システムを長いこと変更していない。 結果、このシステムではこうしかならない、という点に収束している。 死ね、ウンコ、おっぱい、良くも悪くもこのスレ以外も同じだろ。 現状、文句を言っている奴は、全く改善に繋がるレスが出来ていない。 他人に文句だけ言って、自分では何もしない、典型的クレクレ君だ。 そしてお前らはクレクレ君をちゃんと飼え、回答だけしろという。 そういうスレは2chにはないだろ。 理由は簡単、そんなスレは面白くもなく、当然のように潰れるからだ。 ここら辺を理解も出来ないからゆとりは馬鹿にされる。 お前らが望む物は、今のお前らのやり方「文句を言うだけ」では絶対に手に入らない。 お前らが直接参加して、お前らが思う『正しい回答』をするしかないんだよ。 だから、「C言語ゆとり専用スレ」が繁盛すると思うのなら、やってみればいい。 俺はそっちには行かない。これは約束する。 そしてそのスレが繁盛し、このスレが過疎って落ちるのなら、君らの勝ちでいい。 そうやって、おいしいパン屋が不味いパン屋を駆逐するのと同様、 良いスレが悪いスレを駆逐することにより、全体的に板が次第に改善されていくものなんだよ。 これは2chにこだわる必要もなく、 stackoverflow/teratail/知恵袋/はてな等、好きなところを自分自身で盛り上げればいい。 そうやって、2ch自身が過疎って死ぬのなら、2chは役割を終えた、となる。 この、改善に向けての一歩は自分自身のレスで行うしかないし、それ自体が一票になる。 そしてその投票結果が繁盛/過疎、ということになる。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/23(日) 15:22:30.79:2VtMIRxv0 だから何度も言っているが、他人のレスにけちを付けるのではなく、 「俺ならこうだ!」みたいなレスをするべきだし、 それをしてないうちは、他人のレスにけちを付ける筋もないんだよ。 そしてこれまた何度も言っているが、半角君はそれをやってるし、 彼にとっては彼の回答こそが大正義なのだから、俺のレスにけちを付けるのも筋は通っている。 だから、お前らも、まずお前らの大正義回答を見せてから、俺のレスにけちを付けるべきなんだよ。 ゆとり批判にフォーカスして論理をすり替えるのもお前らの常套手段だが、 お前らがゆとりであることが問題なのではなく、こういった筋を理解していないから批判されてて、 理解出来ないのはゆとりだから、とされてるわけだ。 結果、ゆとりは死ね、で大体あってるからゆとりが叩かれてる。 ゆとりの行動が批判されているのであって、それはお前らが変われば済む話なんだよ。 ここでの話なら、何度も言っているが、お前ら自身が大正義な回答をして見せろ。 そしてそれが質問者にとって本当に役立つのなら、そこで話は終わる。 俺がどんな糞レスをしようと、質問者は俺のレスなんて無視して終わりだ。 お前らはそれをせずに、文句だけしか言わないから批判されてる。 それをちゃんと理解して、社会参加しろ。(ここでなら回答しろ、ということ) : デフォルトの名無しさん (ワッチョイ 469f-coYL) [] 2018/09/23(日) 15:48:30.78:s92HkKLC0 必死だな。長すぎて読む気が起きん。パッと見C言語とも関係なくスレチなようだし。 : デフォルトの名無しさん (ワッチョイ 6e5b-onpN) [] 2018/09/23(日) 15:57:32.02:MC3A3QT40 ttp://https://imgur.com/p8rAmDB ttp://https://imgur.com/a/f14jCWT 匿名掲示板なんかで俺はいったい何をやってるんだ。。 : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/23(日) 16:06:19.50:A9/M/+R7M おしまい って言ってるけどポインタ操作残ってると思うんですが : デフォルトの名無しさん (ワッチョイ 6e5b-onpN) [] 2018/09/23(日) 16:18:10.25:MC3A3QT40 本質は捉えてると思うけどいろいろ省略はしてるよ。 : デフォルトの名無しさん (フリッテル MMd6-l/4I) [sage] 2018/09/23(日) 16:20:33.89:wZwojnIWM そこまで説明必要か? 十分だと思うが : デフォルトの名無しさん (アウアウオー Sa0a-KHI6) [sage] 2018/09/23(日) 16:24:02.25:M01VWGWsa すごい : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/23(日) 16:35:24.60:2VtMIRxv0 おーご苦労様。(俺に言われたくはないだろうけどさ) まあそれで君なりのベストアンサーがその図だというのはそれでよし。 晴れて君はレースに出走出来、俺を貶すにしても筋が通るというわけだ。 君自身も回答を控えていた点から、直球回答は意味無いと考えていたわけだし、 マジでが役立つと思う馬鹿はちょっと色々考えた方がいいぞ。 君が認めるかどうかはさておき、 良くも悪くも今君が作った図はインターネット上を彷徨うことになる。 そしてこれは次世代への蓄積となり、次世代はもっと効率よく学習出来るようになる。 君は未来に対して貢献したのだから、褒められるべきだ。 こういう、各自の努力の蓄積によって今の社会は成り立ってる。 学生の本分は学業だと言うのなら、社会人の本分は社会だ。 社会人はこれを認識し、社会に対して責任を持たなければならない。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/23(日) 16:47:50.83:2VtMIRxv0 そして詳細確認したが、「今回向け」に書いている点が惜しいな。 単方向リストで before を使うのは筋が悪い。 だからその図は今回には役立つが、ある意味『間違った』蓄積であり、 確実に『正しい』ものによって淘汰され、君の努力はいつか無駄になる。 そしてこういうミスリードを誘った「C言語本格入門」の著者は腹を切って詫びるべき、となるわけだ。 可能であれば君自身で修正し、ブログでも立ち上げてそこに貼り付けるか、(quitaでもいいか?) ブログやってるが図がない奴に勝手に送りつける等、残す努力をするべきだな。 まあそちらの自由だが。 : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/23(日) 17:02:44.17:A9/M/+R7M やりっぱなし感があるというか 手順の提示としては定常状態まで戻っておしまいの方が好ましいのでは まして想定対象者がみないな感じなら : デフォルトの名無しさん (ワッチョイ 6e5b-onpN) [] 2018/09/23(日) 17:17:52.45:MC3A3QT40 あーうざい は今後もプログラミングを続けるべき18のためのもの。 長文くんの回答はハードモードで入門者の役に立たない。 この段階でダブルポインタとか頭おかしい。 うーん、ごめん無理。もう疲れた。 : デフォルトの名無しさん (ワッチョイ 2d48-coYL) [sage] 2018/09/23(日) 17:31:07.99:YEpQkxBa0 無能ですね : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/23(日) 19:25:09.48:2VtMIRxv0 > この段階でダブルポインタとか頭おかしい。 そもそも二重ポインタが難しいってのがもう無理なんだよ。 ただのポインタと二重ポインタの難易度で大差はない。 それだとジャグ配列も理解出来ないだろ。 まあそれでも君は君なりにイージーモードの回答をしたつもりな点はいい。 それで俺の回答がハードモードすぎると批判するのも正しい。 他の馬鹿共もこいつを見習って何か回答してから文句を言え。 そうしないと何も改善しないんだよ。 そしてそれがお前らゆとりが最悪な点でもある。 なお、俺の回答は既に最初から何度も繰り返しているが、「IDEを使え」だ。 18は何が分かってないかすら理解出来ていない。 それを君も理解してるから、君も直球回答しなかったわけだろ。 だから俺の回答は、「IDE使って納得いくまでステップ実行しろ」になる。 ただし36のソースはゴミだから、わざわざステップ実行するなら41か44にしろ。 そして47が何故高速になるのか考えろ、というわけだ。 あと、君は『ゆとりスレ』を率いれる可能性がある。 他のゆとり共には回答出来るだけの知能がないから無理だったが、君にはあるようだから。 俺が気に入らないならスレ立てて頑張れ。他のゆとりも応援してくれるだろう。 俺はそっちには行かないことも約束する。 それで君たちだけで上手く回せるのなら、それが一番いいし。 そしてその程度で疲れるものだと理解出来たのなら、 俺やお前の上司や先輩がどれだけお前らゆとりの為にエネルギーを費やしてきたかを理解し、 感謝しつつ、お前も後輩の為にエネルギーを費やせ。 (上司や先輩に返す必要はない) : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/23(日) 19:32:11.78:eq3kKmf90 この必死なレスのモチベーションはなに : デフォルトの名無しさん (ワッチョイ 22f9-xOzC) [sage] 2018/09/23(日) 19:51:24.73:A0stA7Ax0 自分の無知を指摘され、いったん素直に指摘を認めことができたけど後から後から突っ込まれ、怒りの矛先を他人に向けて自分を納得させようとしているのだと思われる。 カッコ悪い姿をさらし続けていることに自覚が無いらしい。 : デフォルトの名無しさん (ワッチョイ 2260-9U/T) [sage] 2018/09/23(日) 19:59:31.31:pZmr8c6F0 >ただのポインタと二重ポインタの難易度で大差はない。 それは、あなたの理解の仕方が、二重ポインタの難易度の差を感じない、というだけであって、 他の人にとっては、ただのポインタと二重ポインタとで、難易度に差が出る可能性はあります、というか、それが普通だと思います : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/23(日) 20:03:40.44:2VtMIRxv0 違うぞ。お前はそういうことにしたいようだが。 まじめに聞きたいのなら答えてやるが、その前にお前が答えるに値することを示せ。 具体的には、を見習って、お前なりのベストアンサーを出して見せろ。 そうでなければお前は文句しか言わない典型的クズゆとりでしかない。 それをちゃんと自覚しろ。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/23(日) 20:08:41.92:2VtMIRxv0 何度も言っているが、俺のレスが難しすぎるというのなら、 お前がより簡単なレスをすれば良いだけだ。お前は何故それをしない? を見習え。 だからお前らゆとりは死ねって言われるんだよ。 : デフォルトの名無しさん (フリッテル MMd6-l/4I) [sage] 2018/09/23(日) 20:11:03.68:s0cMomwdM 論点おかしくないか? スレの趣旨を考えろよ : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/23(日) 20:19:56.90:2VtMIRxv0 それは俺に言ってるのか? ならばお前も根本的に勘違いしている。 流れがおかしいと思うのなら、お前が流れを正すレスをすれば済む。 他人のレスを期待するのは間違いだ。 お前には違う受け方も見えていたのなら、お前が横レスで受ければいい。 俺が横レスについて文句を言うことはない。 そして指摘の通り、俺はそっちには受けなかった、これはその通り。 しかし、どっちに受けるかは勿論本人の自由だ。 そして、放置された話題を続けたいと思うのなら、お前が横受けすれば済む。 勝手にやれよ。俺は参加しないが。 : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/23(日) 20:28:20.20:eq3kKmf90 悔しいんですね。 : デフォルトの名無しさん (ワッチョイ 469f-coYL) [] 2018/09/23(日) 21:59:52.18:s92HkKLC0 やはり何かのスイッチが入っちゃったんだろうなあ・・・ : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/23(日) 22:05:27.70:A9/M/+R7M >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? プークスクス : デフォルトの名無しさん (ワッチョイ 2d48-coYL) [sage] 2018/09/23(日) 23:41:36.70:YEpQkxBa0 w : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/23(日) 23:49:09.60:cRG95Xcq0 低学歴知恵遅れは質問には答えられないくせに こういう質問と一切関係ない話題にだけは とても強い関心があるのがよくわかるわ しかも質問したヤツはこのスレを見てるとは到底考えられない 不毛な低学歴知恵遅れたちの争いだけがひたすら続く : デフォルトの名無しさん (ワッチョイ 2d48-coYL) [sage] 2018/09/23(日) 23:53:23.11:YEpQkxBa0 > なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? > こういう質問と一切関係ない話題にだけは もうやめて、お腹痛い : デフォルトの名無しさん (アウアウウー Sa25-dz4b) [] 2018/09/23(日) 23:55:00.19:x91orYN2a と言うか、レス先が分からなかった通りすがりだが、LLみたいなどんな型にもなれるって意味でvoid使えるは使える。 Java のキャリー地獄みたいになるから推奨はされてないが。 : デフォルトの名無しさん (ワッチョイ c212-yqSl) [sage] 2018/09/24(月) 00:17:52.05:Fuo9Kdvg0 >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? Javaスレで相手にされなくなってたアイツじゃね : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/24(月) 00:21:58.21:/Z9skFPV0 それは void* で、引用元は。 状況知りたければ18から全部読め。(ただし中身は無い) > Java のキャリー地獄 これは何?JavaならObjectで多態では? なお回答先はJavaスレ(以下)でも構わない。俺がそっちに行く。 ttps://mevius.5ch.net/test/read.cgi/tech/1518252580/ : デフォルトの名無しさん (アウアウウー Sa25-dz4b) [] 2018/09/24(月) 00:27:00.84:rSek34EXa まだレスが少ないならともかく、全部は読まんw : デフォルトの名無しさん (アウアウウー Sa25-dz4b) [] 2018/09/24(月) 00:28:36.24:rSek34EXa 流石に全部は読めんw ただ、元を読む限りただの引数なし関数やね。 : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/24(月) 00:33:34.74:/Z9skFPV0 文法の不具合を解消する為の方策だ。 詳しくは内URL参照。 : デフォルトの名無しさん (アウアウウー Sa25-dz4b) [] 2018/09/24(月) 00:37:29.32:rSek34EXa くう。。。 今からだとあぼーん多過ぎていまいち。。。 新旧の文法上だと言うのは何となくわかった。 まさかautoでは無かろうが。 : デフォルトの名無しさん (ワッチョイ 469f-coYL) [sage] 2018/09/24(月) 10:09:26.60:twjLvrgB0 auto というと、C++では型推論してくれるんだっけ? C言語だとただの自動変数を表すキーワードだからほとんど誰も使ってないと思う。 : デフォルトの名無しさん (ワッチョイ 2d48-coYL) [sage] 2018/09/24(月) 11:23:55.24:GIs1tf8Y0 型指定子がなかったBの名残りってだけで Cでは死産と言っていい状況だね : デフォルトの名無しさん (ブーイモ MM62-5hTU) [sage] 2018/09/24(月) 17:33:54.42:eFHr5qJjM 同じものがある順列を列挙するCのコードってどこかにないかな? PEPPERとかMISSISSIPPIとかを並べる順列を列挙したい。 : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/24(月) 18:04:59.62:JEmRy2N3M ただの木構造でわ? : デフォルトの名無しさん (ブーイモ MM62-5hTU) [sage] 2018/09/24(月) 22:36:13.96:eFHr5qJjM 自己レス 英語で検索したらみつかりました。 ttp://https://www.geeksforgeeks.org/print-all-permutations-of-a-string-with-duplicates-allowed-in-input-string/ : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/24(月) 23:35:26.40:/Z9skFPV0 普通はcarとcdrで再帰降下して、重複を取り除く為にアホみたいにN^2/2回比較して終わり。 この単純実装で十分だと思うけどね。メモリ食うけど。 そのサイトの実装は、速そうには見えないけど、メモリは食わないね。 : デフォルトの名無しさん (ブーイモ MMed-5hTU) [sage] 2018/09/25(火) 11:39:13.66:sI9HCV5SM 再帰使ったコードどこかに落ちてない? 自分で書く能力ないので既成品で速度比較してみたい。 : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/25(火) 13:48:31.42:4xZhtJ+zM 自分で書いた方はえーわ そして書けないってまずいわ さらに自分で考えないってもっとまずいわ : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/25(火) 19:20:45.10:A0N9+kL10 Cでその態度はグーで殴られるだろう。 なお225、再帰時に毎回sortして重複枝を刈れば、列挙後の比較は不要となりメモリは食わない。 ほぼ224と同じになるが、これが最速でもっとも簡素な気がする。 224は単純に全降下ではなくswapして降下先を選んでいるが、これの利点はよく分からん。 : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/25(火) 22:34:27.02:4xZhtJ+zM carとcdrってCでも使う言葉なの? 最近scheme初めて知ったんだけど : デフォルトの名無しさん (ワッチョイ 2260-9U/T) [sage] 2018/09/25(火) 22:37:06.69:CZcrESgD0 >carとcdrってCでも使う言葉なの? あんまり聞かない… : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/25(火) 22:37:56.77:Ig86RmNy0 OSの体系的な質問で申し訳ないんですけど VisualStudioで作ったC言語の計算アプリがあるんですけど これはMacでも動くんでしょうか? それともMacにいったんVisualStudioをインストールしないと駄目なんでしょうか? 聞くに、C言語は低級言語なので動かないOSはない、C言語自体が完全ネイティブ環境 だとも聞いたのですがどうでしょう? : デフォルトの名無しさん (ワッチョイ 2e81-coYL) [sage] 2018/09/25(火) 22:42:03.59:1135EyDF0 コマンドラインで起動するコンソールアプリで C言語の標準的関数しか使っていないなら ほぼそのまま動かせると思いますが、 Windows固有のAPI使っている場合は 手直ししないと無理かと思います : デフォルトの名無しさん (ワッチョイ 2260-9U/T) [sage] 2018/09/25(火) 22:42:10.10:CZcrESgD0 main() を定義しているファイルをここ ttp://https://www.ideone.com に晒してくだされば、判断いたしましょう : デフォルトの名無しさん (アウアウエー Sa4a-KpFT) [sage] 2018/09/25(火) 22:44:39.75:fKl9B6Sya VS for Macとかコードの互換性あるんでねえの? バイナリは別としてさ。 : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/25(火) 22:50:44.42:Ig86RmNy0 うん???www WindowsAPIってのはC言語で実装されてるから問題ないのでは? : デフォルトの名無しさん (ワッチョイ 2e81-coYL) [sage] 2018/09/25(火) 22:54:26.26:1135EyDF0 WindowsAPI毎Macに移植するのであれば、動くかも知れませんね : デフォルトの名無しさん (ワッチョイ 2260-9U/T) [sage] 2018/09/25(火) 23:06:10.30:CZcrESgD0 >WindowsAPIってのはC言語で実装されてる win32api(≒WindowsAPI) は C から呼び出せるようになっているのではありますが、 win32api の実体が存在するかどうかは、また別の話になります mac にて windows 向けのコードを実行させるための手段があるかどうかは、私にはよくわかりません (wine とかが移植されているのですか?) : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/25(火) 23:09:30.90:Ig86RmNy0 WindowsAPIを書いてる言語はバイナリってことですか? : デフォルトの名無しさん (ワッチョイ c212-yqSl) [sage] 2018/09/25(火) 23:18:34.02:HAbRzuEs0 ソースコード全部をgithubに乗せれば話は早いです 要するに、現物を見るのが手っ取り早いです : デフォルトの名無しさん (ワッチョイ 42d2-MW2F) [] 2018/09/25(火) 23:18:38.51:SjmRGAva0 CPU OS ソースコード 実行ファイル ライブラリ API この辺の理解がごっちゃになってるな もしくは釣り : デフォルトの名無しさん (ワッチョイ 2e81-coYL) [sage] 2018/09/25(火) 23:23:33.73:1135EyDF0 試しに、VCではなく、GCCコンパイラ使って、 ソース修正せずに実行プログラムが作成出来るかな? : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/25(火) 23:37:13.97:Ig86RmNy0 釣りではないです 大学では バイナリ→アセンブリ→C言語→WinAPIやJava→高級言語(DirectXなどのライブラリ) →統合環境(VisualStudio) の順番で言語規模が高性能化するって習いました 高級言語→C言語にするには実行環境が必要ですが そもそもC言語であるならば、OSが直接読み込める形であるのだから どんなOSでも動くという理解です。 間違っていますか? 大学でしないといけないのはプログラミングではなく言語体系についての 理解をレポートにしなきゃならないので : デフォルトの名無しさん (ワッチョイ 01f2-coYL) [sage] 2018/09/25(火) 23:41:58.98:Jw6NGqaL0 中学生が背伸びしてるのかと思ったが大学生かよ。 : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/25(火) 23:42:20.18:AGUJmjmE0 >大学では >バイナリ→アセンブリ→C言語→WinAPIやJava→高級言語(DirectXなどのライブラリ) →統合環境(VisualStudio) >の順番で言語規模が高性能化するって習いました どんな教育だよ... : デフォルトの名無しさん (ワッチョイ 22f9-xOzC) [sage] 2018/09/25(火) 23:46:38.07:J8LSZpTD0 その言語や環境の並び、ざっくりしすぎというか突っ込みどころ満載でどこから訂正していいか困るレベルだよ。 テキストや教師がもんだいなのか、君がの理解不足でおかしなまとめ方をしてるのか… : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/25(火) 23:46:38.88:xp1IDT0a0 訂正するのがめんどいぐらいいっぱいまちがってる : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/25(火) 23:53:43.26:Ig86RmNy0 どこらへんが間違ってますか? 間違いは財産です。教えてください。 : デフォルトの名無しさん (ワッチョイ c212-yqSl) [sage] 2018/09/25(火) 23:54:12.64:HAbRzuEs0 >C言語であるならば、OSが直接読み込める形であるのだから >どんなOSでも動く しゅごい : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/25(火) 23:55:06.09:AGUJmjmE0 >高級言語→C言語にするには実行環境が必要ですが 「そもそもC言語であるならば、OSが直接読み込める形であるのだから >どんなOSでも動くという理解です。 C言語は各マシンそれぞれのCPUやOSに対応した適切なコンパイラとAPIでコンパイルしないと動きません。 : デフォルトの名無しさん (ワッチョイ 22f9-xOzC) [sage] 2018/09/25(火) 23:57:02.58:J8LSZpTD0 まったく自分でプログラミングしてないなら実感沸かなくて当然なのだろうけど、その課題意味あるのかな。 それはともかく。 Cで書いたプログラムならどのOSでも 動く訳ではない。 Cで書かれたコードはOSぎ直接理解できるわけではない。そこでCのコードをOS上で実行できるコード(君の分類ではバイナリ)に変換する作業がいる。 その際、ターゲットとするCPUに合わせたコードに変換するから、違う種類のCPUの環境では動かない。 また、OSに関する機能は全部を自分の生成するプログラムに内包する訳ではなくて、OS側ですでに用意してあるプログラムを呼び出すだけだから、他のOSに自分のプログラムを持っていったら、呼び出す先のプログラムが存在しないので実行できないことになる。 : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/25(火) 23:58:21.66:Ig86RmNy0 正しいのでしょうがよく分かりません C言語のほうが低級なのに、高級のWinAPIでコンパイルするんですか? 矛盾してるような… WinAPIはコンパイルされる側のような… : デフォルトの名無しさん (ワッチョイ 22f9-xOzC) [sage] 2018/09/26(水) 00:02:36.99:HESLqYz40 前提の理解が間違っているというか、APIが何者かまったくわかっていないよね。 winAPIはwindowsが予め用意してくれている機能で、一般のプログラマがコンパイルするものではない。 自分のプログラムをコンパイルするときに、くっ付けて使わせてもらうもの。 : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/26(水) 00:03:04.81:h9A6ffHl0 WindowsAPIはAPIであってプログラミング言語ではないので言語的な高級度は定義できません。 : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 00:05:27.24:I4Gvy1+q0 すいませんまったく理解できなくてすいません 低級言語っていうのは、できることは単純だが速度が速いという認識です。 バイナリになると一切無駄が無いので実質、最速の言語だということも知っています。 APIという高度な機能をもってC言語をコンパイルするというのがなぞすぎます。 すでに単純な命令を何故コンパイルという時間のかかる処理を施すのでしょうか? : デフォルトの名無しさん (ワッチョイ f94f-yqSl) [sage] 2018/09/26(水) 00:06:52.76:HY3LojxY0 > 大学では お前の大学の講義資料のURLを晒せ。 今時の大学なら(学外から見えるかはさておき)普通は上げてるだろ。 おかしいのがお前の頭か講義資料か先生かは切り分け出来る。 : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/26(水) 00:08:13.65:nZ7x0XR+0 まずいまどきアセンブラなんか手書きでなんか書かない C言語をコンパイルするとアセンブルしてしてアセンブラをコンパイルする すると実行モジュールができる(コレがチミがバイナリと読んでるものになる) WinAPIやDirectX APIはOSが提供するアプリケーションインターフェースになる それをさっき書いたC言語から利用することができる で、C言語に限定されないが、そういった開発を 知恵遅れでもできる環境を提供するのがIDEとよばれるものだ 当然、viでコードやmakefileをシコシコ書いてコンパイルするのもありだが 今時いちいちそんなめんどいコトやってるヤツは希少種といっていい とりあえず今ココではJavaはおいとく : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 00:09:35.96:I4Gvy1+q0 なんか根本的な事を教えてくれて泣けてきます wiki見ても端折ってばかりで理解できなかったんで嬉しいです でもそれでも分かりません… : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/26(水) 00:09:53.01:h9A6ffHl0 すみません、APIをコンパイルではなくAPIをリンクの間違いでした。 : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 00:11:25.00:I4Gvy1+q0 知恵遅れでもできる環境 僕が使ってるのはCygwinとVisualStudioですね 学校の課題はCygwin推奨ですが、何故かVisualStudioも入れられましたw : デフォルトの名無しさん (ブーイモ MM62-Nssn) [sage] 2018/09/26(水) 00:13:32.35:OuxizmKlM まず、windowsAPIはC言語等の関数として提供されてるのはわかる? そんでその関数のソースコードは公開されていない。だから、自分が書いたソースコードだけをmacに持っていってもソースコードが足りないので動かない。 仮にソースコードを手に入れたとしても、内部でwindowsのカーネル(コアとなるソフト)だけが提供している機能を利用使って実装されているから、やはりmacに持ち込むことはできない。 : デフォルトの名無しさん (ワッチョイ 22f9-xOzC) [sage] 2018/09/26(水) 00:14:11.60:HESLqYz40 余談だけど、半角カナにこだわりのある通称半角クンに知恵遅れとか言われても気にする必要ないぞ。彼にとってただの二人称代名詞だから。 : デフォルトの名無しさん (ワッチョイ 6561-YXup) [sage] 2018/09/26(水) 00:16:23.80:0JN26GcE0 ワイは希少種やったんか 世間じゃカーネルモジュールはどんな開発環境でやってるんや? : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/26(水) 00:17:32.29:h9A6ffHl0 オレが書いたC言語のプログラムを機械語に変換すればようやくコンピュータで実行できるようになります。 APIは既に機械語に変換されているか、オレの書いたC言語と一緒に機械に変換されてからオレの機械語と結合して使われます。 : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 00:17:40.67:I4Gvy1+q0 まったく分かりません WinAPIがC言語が混ざったらもう何がCでAPIなのか もうわけわかりません : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/26(水) 00:18:24.20:nZ7x0XR+0 で、javaはコンパイルするとバイトコードに変換される で、そのできあがったバイトコードはJavaVM(コレがチミがバイナリと読んでるものになる)で動かすことができる 昔のpascalのpコードのパチモンと考えればいい そっから、さらに進んでバイトコードをjitコンパイラでコンパイルするしくみもあったりする それ使うと実行モジュール(コレがチミがバイナリと読んでるものになる)ができてしまったりもする ただ、その実行モジュールはターゲットマシンでないと動かない で、当然、javaもeclipseみたいなIDE使って開発できる わかった? : デフォルトの名無しさん (ワッチョイ 42d2-MW2F) [] 2018/09/26(水) 00:18:39.07:ZP32HEFJ0 低級・高級(Low-Level/High-Level)は 言語体系がハードウェア実装=CPUに近いか 人間語に近いかどうかの話で 性能とは一切関係がない (という話は確実に教科書に書いてあるはず) CPUはバイナリしか解釈しないから どんな言語を使ってもコンパイル作業が要る : デフォルトの名無しさん (ブーイモ MM62-Nssn) [sage] 2018/09/26(水) 00:22:18.55:OuxizmKlM とりあえず、Cで何度かプログラム書いてみたらいいんじゃないかな。 知識だけ身につけると頭でっかちになっちゃうからね。 : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 00:23:21.36:I4Gvy1+q0 C言語は言語の中では最速だというのは教科書に書いてましたよ : デフォルトの名無しさん (ワッチョイ 2e81-coYL) [sage] 2018/09/26(水) 00:24:33.00:T1RBGvug0 Cで書いたソースの多分先頭付近に並んでいると思う #include で始まる行の部分だけでも公開してみて WindowsAPIの為に入っている行を取り除けば (このままではコンパイルエラーになるかも知れないが) Wacに持っていく入り口にはたどり着ける : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/26(水) 00:26:15.28:nZ7x0XR+0 たとえばmacで WinAPIと同じインターフェースもつ同じ機能のAPI(書くことができるかどうかは別ににして)を Cで書くとmacでwindowが動く 時間があるならついでに なんで、POSIXというもんがあるか調べてみるといい : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 00:26:28.94:I4Gvy1+q0 #include<stdio.h> int main(void) { 〜中身〜 } です。 int main stdio.h の二つはおまじないと聞きました : デフォルトの名無しさん (ワッチョイ 2e81-coYL) [sage] 2018/09/26(水) 00:31:29.48:T1RBGvug0 ホントにそれだけなら、そのまま Macに持って行けるんじゃないか? あとはMac側でコンパイラが使えるかどうか、だな VCでないと困る事ある? MacでやるならXcodeと言うのを使った方が良いように思うが : デフォルトの名無しさん (ブーイモ MM62-Nssn) [sage] 2018/09/26(水) 00:32:08.86:OuxizmKlM 最初にWindowsAPIなんて言い出したやつは出てこい!! ドッカン ゴガギーン _ ドッカン ☆ ===( ) / `∧∧_||___ ∧∧ ( )||| |(Д`) f ⌒~ || || \ | / ̄ | |/| / / | | | ヘ/\|_/ / | | ロ|ロ\/\(_ノ) ( (_ \ | | Y / | ||\ ヽ| | || | || / / | | || | ||/ /_|___| || (_(_) (__) : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/26(水) 00:32:38.48:nZ7x0XR+0 そういうコードだったら macでコンパイルしなおせば 普通に動くハズ : デフォルトの名無しさん (ワッチョイ 22f9-xOzC) [sage] 2018/09/26(水) 00:33:06.80:HESLqYz40 C言語が速いんじゃないんだよ。 C言語で書かれたソースをコンパイルして生成されたバイナリコードが速いんだよ。それはCPUが直接実行できる形式だから。 別に他の言語でも、コンパイルしてバイナリコードが生成できるものは、本質的にはCと同じ。 遅いのは、バイナリコードを生成せずに、その言語固有のコードを生成して、それを別のプログラムが解釈しながら実行するようなタイプの言語だよ。例えばJAVAのような。(実行時コンパイルとかはこの際おいておく) : デフォルトの名無しさん (ワッチョイ 6561-YXup) [sage] 2018/09/26(水) 00:33:58.19:0JN26GcE0 おまじないは一個要らへんで $ cat test-printf.c int main(void) { printf("Hello\n"); return 0; } $ gcc test-printf.c 2> /dev/null $ ./a.out Hello : デフォルトの名無しさん (ワッチョイ 42d2-MW2F) [] 2018/09/26(水) 00:34:42.00:ZP32HEFJ0 それは教科書がおかしいか誤読してると思われる 「現代の高級言語の中では最速のバイナリをビルドできることが多い」 とかならまあありだが : デフォルトの名無しさん (アウアウカー Sae9-s2i8) [sage] 2018/09/26(水) 00:37:18.40:3GYry5Z9a OSによって動くコード(アセンブリ)が違う CでもC++とかで書いたコードをコンパイルする時にその対象のOSで動くように機械語に変換される なので同じCやC++のコードでもコンパイルできれば動くプログラムが作成できる しかし、標準ライブラリ以外はその対象OS用に用意されていない場合もあるのでそういうライブラリを使用した場合コンパイルが出来ない : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/26(水) 00:37:56.89:tnf9UX1gM ちょっと教科書名教えてくれwww : デフォルトの名無しさん (ワッチョイ 42d2-MW2F) [] 2018/09/26(水) 00:38:29.20:ZP32HEFJ0 てかレポート出すような講義で「おまじない」で済ますもんなのか最近は 最初の質問もexeをそのままMacに持っていって動きますか?だったのかも : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/26(水) 00:43:17.15:nZ7x0XR+0 cygwin入ってると書いてあった きっとgccもはいってるハズ 手動でコンパイルすればすぐに実行モジュールができるハズ : デフォルトの名無しさん (ワッチョイ 469f-coYL) [sage] 2018/09/26(水) 00:45:01.24:9UO6BO9+0 標準入力やファイルからテキストのデータを読んで計算してから標準出力またはファイルに出力するような ほとんど計算しかしないようなやつなら何一つ変えずにコンパイルできる可能性がある。 しかしGUIで入力を受け付けてGUIで結果表示みたいな作りの場合はその部分だけMacに合わせて変更する 必要があると思う。(もし互換性のあるライブラリがあるのであればそれをリンクすればなんとかなるが)。 : デフォルトの名無しさん (ワッチョイ 469f-coYL) [sage] 2018/09/26(水) 00:45:48.08:9UO6BO9+0 しまった。リロード忘れて書いてしまった。 : デフォルトの名無しさん (ワッチョイ 2e80-tQZR) [sage] 2018/09/26(水) 01:37:55.43:P+3GV8ah0 バイナリは、各CPU に固有のもの。 intel・AT&T では逆に書く ; for intel syntax mov eax, 1 # for AT&T syntax mov $1, %eax これらを抽象化する層、仮想アセンブラのLLVM ができた C → LLVM → 機械語 : デフォルトの名無しさん (ワッチョイ c964-vX2D) [sage] 2018/09/26(水) 02:25:42.64:p8TYnMT50 テキストファイルを#includeしたりするのっておもしろそうと思った。 #include "file.txt" 使い道がほとんど思いつかんけど。 正規化されたcsvファイルなら有用かもしれない。 : デフォルトの名無しさん (ワッチョイ 469f-coYL) [] 2018/09/26(水) 02:56:13.26:9UO6BO9+0 XPM や XBM フォーマットの画像ファイルは中身がテキストファイルでC言語になっているので、 プログラム中で使いたい時に #include で読むなんてことを昔やった事がある。 今でも画像を編集するソフトではそういうフォーマットに対応しているのがあるかも知れない。 あったら画像をファイルに保存後に中身をテキストエディタで見てみると良い。 XBM ttp://http://sei.qee.jp/docs/graphics/xbm/index.html ttp://https://en.wikipedia.org/wiki/X_BitMap XPM ttp://https://ja.wikipedia.org/wiki/XPM : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/26(水) 02:57:00.82:tnf9UX1gM ただしコンパイルはできるかな? : デフォルトの名無しさん (ワッチョイ c964-vX2D) [sage] 2018/09/26(水) 03:16:42.67:p8TYnMT50 XPMか。FVWMあたりのソースコード見れば実際に利用してるところがあるかもね。 なぜFVWMかと言うと ある程度小さくて読みやすいかなと思ったから。 : デフォルトの名無しさん (ワッチョイ c964-vX2D) [sage] 2018/09/26(水) 04:48:38.00:p8TYnMT50 ていうかさ なんで #include "file.txt" なんていうことをやろうかと思ったかというとさ, よくアプリケーションのオプションで--helpみたいなオプションがあってそれを指定すると 標準出力にヘルプ情報を吐き出すじゃない。 で,普通それを実現するには,print_help()関数みたいなのを作って その中で puts("Usage: xxx [-dx] <file>..."); ↑こういうのをずらずら書きならべると思うんだよ。 ttp://http://git.savannah.gnu.org/cgit/hello.git/tree/src/hello.c#n127 ←こんな風に。 で,そのヘルプファイルを外部ファイルにできないかな〜と思ってさ。 print_help() { puts(" #include "help.txt" "); return 0 } こういう感じで。もちろんこれはコンパイルエラーになるけど。 : デフォルトの名無しさん (ワッチョイ cde3-tHrl) [sage] 2018/09/26(水) 06:52:38.46:ME0063O80 普通にfopen(),fgets()しろよ : デフォルトの名無しさん (ワッチョイ 2ee8-IBuP) [] 2018/09/26(水) 07:02:15.89:KRhEkOMN0 ,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;; {;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; #include "file.txt" ヾ;;;ハ ノ .::!lリ;;r゙ `Z;i 〈.,_..,. ノ;;;;;;;;> そんなふうに考えていた時期が ,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f. 俺にもありました ~''戈ヽ `二´ r'´:::. `! : デフォルトの名無しさん (ワッチョイ 2d48-coYL) [sage] 2018/09/26(水) 07:12:11.89:Ozpnqin20 argv[0]を使わずにusage表示するやつ嫌い : デフォルトの名無しさん (ワッチョイ 06d5-KkRk) [sage] 2018/09/26(水) 07:27:14.31:3KpC5Lnu0 実行ファイル内に組み込みたいんじゃないの : デフォルトの名無しさん (ワッチョイ 01f2-coYL) [sage] 2018/09/26(水) 07:40:06.18:slacS0cU0 includeするファイルの拡張子が.hか.txtなんて関係ないよな。 中身がCのコードとして解釈できるかどうかだけで。 : デフォルトの名無しさん (ワッチョイ be23-coYL) [sage] 2018/09/26(水) 09:03:42.94:X1sPOZNr0 おれは好きだよ argv[0]の長さとかわからないし、不安になるもんね : デフォルトの名無しさん (ワッチョイ 06d5-KkRk) [sage] 2018/09/26(水) 09:06:37.66:3KpC5Lnu0 独学で始めたての頃はリンカを知らなかったから、.c も全部 include してまとめてコンパイルしてたw : デフォルトの名無しさん (アウアウカー Sae9-rLjT) [] 2018/09/26(水) 09:48:26.11:QtvShas/a かといって argv[0] って必ずプログラムファイルへのフルパスの文字列になってる保証はないよな? UNIX系OSだとexecに渡す引数は実行するプログラムへのパスとargvの配列は別に指定できるしシェルは自身がログインシェルとして起動されたかどうかをargv[0]利用して判別してるし。 : デフォルトの名無しさん (ブーイモ MMed-Bf5X) [sage] 2018/09/26(水) 09:54:31.75:+QPOg/oyM 組み込みでreal型を使うメリットってなんでしょうか? floatやdouble型との違いを教えて頂けないでしょうか? : デフォルトの名無しさん (アウアウエー Sa4a-KpFT) [sage] 2018/09/26(水) 09:58:20.00:wpdgBSuMa 「パス」は正しくないでしょ ユーザがシェルに入力した文字列が入るわけで : デフォルトの名無しさん (アウアウエー Sa4a-KpFT) [sage] 2018/09/26(水) 10:04:04.84:wpdgBSuMa real型ってなんだ? D? : デフォルトの名無しさん (ワッチョイ 2d48-coYL) [sage] 2018/09/26(水) 10:17:13.10:Ozpnqin20 フルパスである必要はない そんなのはwhichで出るから重複もいいとこ : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/26(水) 13:07:42.63:tnf9UX1gM 好きか嫌いかより規格で語れよ!! : デフォルトの名無しさん (フリッテル MMd6-l/4I) [sage] 2018/09/26(水) 13:15:13.67:GcxNqKYyM で? : デフォルトの名無しさん (アウアウカー Sae9-rLjT) [] 2018/09/26(水) 17:10:26.81:dsR47lxwa argv[0] が "-" だったらどうするよ。 : デフォルトの名無しさん (ワッチョイ c964-vX2D) [sage] 2018/09/26(水) 17:10:59.41:p8TYnMT50 まあやっぱり#include "file.txt"なんて常人は考えねーよなw いろいろすまんかった。 : デフォルトの名無しさん (ワッチョイ 2e81-coYL) [sage] 2018/09/26(水) 17:23:34.23:T1RBGvug0 使い道はあるよ 多量のマクロ定義リストを読ませるとか : デフォルトの名無しさん (ワッチョイ c1ea-CZft) [sage] 2018/09/26(水) 17:27:31.74:lDpRvfaq0 ビットマップを本体のコードに埋め込むのに char data[] = { #include "bitdata.inl" }; とかやった。 bitdata.inl は別のソフトで生成 : デフォルトの名無しさん (バッミングク MMf5-vwf2) [sage] 2018/09/26(水) 17:33:26.10:lncCaYQKM disるつもりはないし状況も分からんのだけど、バイナリデータをコードに埋め込んでコンパイルかけるのは筋が悪いような? : デフォルトの名無しさん (アウアウカー Sae9-rLjT) [] 2018/09/26(水) 17:35:54.43:dsR47lxwa XPMやXBMみたいなテキストなんだろ : デフォルトの名無しさん (オイコラミネオ MMc9-KkRk) [sage] 2018/09/26(水) 17:36:31.54:cOtTFh6NM file.txt を C の文字列にした file.c なり file.h なりを作る簡単なスクリプトなり書いて、make ファイルでそれが動いて取り込まれるようにすりゃいいんじゃね。 usage: -h help -u unko みたいなテキストを #define USAGE "¥ usage:¥n¥ -h help¥n¥ -u unko ¥n¥ " みたいな define か何かにすればいい。 : デフォルトの名無しさん (ワッチョイ 2e81-coYL) [sage] 2018/09/26(水) 17:37:28.54:T1RBGvug0 大量のテーブルデータをマクロ型式で記述して includeの直前でマクロを望む内容で定義すると便利 : デフォルトの名無しさん (ワッチョイ c1ea-CZft) [sage] 2018/09/26(水) 17:40:44.37:lDpRvfaq0 (Windowsの話) ライブラリを作ってるときに、そこで使いたかったんだが(ImageList) リソースというわけにもいかず、ファイルを読み込むのもライブラリ化の意図からずれるし で 埋め込んだのよ 簡単に肥大化するから筋が悪いのは半分承知 : デフォルトの名無しさん (ワッチョイ c1ea-CZft) [sage] 2018/09/26(水) 17:41:52.02:lDpRvfaq0 ああ 件のファイルは 0x○○, 0x○○, … なテキストのファイルです : デフォルトの名無しさん (バッミングク MMf5-vwf2) [sage] 2018/09/26(水) 17:50:39.66:lncCaYQKM ああ、なるほど。 まぁ俺も組み込みでビルド番号を自動生成してソースにincludeで組み込むこともあるので人のことは言えないけど。 : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 20:19:36.31:I4Gvy1+q0 WindowsAPIを機械語にするソフトを機械語にするソフトを機械語にするソフトを… って考えたらまた頭が混乱してしまいました… : デフォルトの名無しさん (アウアウエー Sa4a-KpFT) [sage] 2018/09/26(水) 20:25:14.53:07am72nua APIとはインターフェースである。 見えるのは表面だけで中身なんてどうなってるかわからない。 : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 20:29:26.48:I4Gvy1+q0 CのコンパイラはWinAPIでしかかけないってことですか? : デフォルトの名無しさん (ワッチョイ 61b3-CZft) [sage] 2018/09/26(水) 20:41:32.38:zSos1f990 Advanced windows買って読め じゃ乱暴か… : デフォルトの名無しさん (アウアウカー Sae9-rLjT) [] 2018/09/26(水) 20:43:53.50:MrbR9bENa まずはWindowsAPIとは何なのかを調べろ。話はそれからだ。 : デフォルトの名無しさん (ワッチョイ c964-vX2D) [sage] 2018/09/26(水) 20:45:37.17:p8TYnMT50 にゃるほど。 まあ それでもいいんだけど,結局変換の手間があるんだよね。 しかし一度でも.hか.cファイルを作ったらあとはそれを#includeすれば 複数のファイルに使えるってのは有用かもしれん。 Usageでは↑複数には適用できないけど,ライセンスとか。 : デフォルトの名無しさん (アウアウエー Sa4a-KpFT) [sage] 2018/09/26(水) 21:08:33.17:07am72nua Cのコンパイラがpythonで書かれていようと俺は一向に構わんがインターフェースでどうやって書くのかは知らない : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/26(水) 21:29:52.27:h9A6ffHl0 最初のコンパイラは人間が手入力でバイナリを書いた : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 21:40:12.24:I4Gvy1+q0 CをコンパイルするのはWindowsAPIって昨日聞きましたが? C自体では動かないのだからWindowsAPIでコンパイルするのでは? : デフォルトの名無しさん (ワッチョイ 2e81-coYL) [sage] 2018/09/26(水) 21:45:31.26:T1RBGvug0 誰もそんな事言って無いだろう 探したけどないぞ、そんなの : デフォルトの名無しさん (ワッチョイ 19b3-vwf2) [sage] 2018/09/26(水) 21:48:20.48:Jt0rVGX10 いい加減、釣りだと気づけよw てかみんな気付いた上で相手してるのか。 : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/26(水) 21:49:37.93:h9A6ffHl0 Winapiでコンパイルじゃなくてwinapiとリンクと間違いだったって言ったやん : デフォルトの名無しさん (ドコグロ MMf5-JQ9C) [sage] 2018/09/26(水) 22:07:50.72:MrhohV/JM 流石に最初のコンパイラはアセンブリ言語だろ 最初のアセンブラはバイナリ入力しただろうけど : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 22:09:29.37:I4Gvy1+q0 コンパイラはWindowsAPIの実装を知ってる人じゃないと作れないってことですか? よくコンパイラ入門なんて本あるけど作れるんでしょうか? : デフォルトの名無しさん (ワッチョイ 2e81-coYL) [sage] 2018/09/26(水) 22:18:36.87:T1RBGvug0 WindowsAPIは直接コンパイラとは関係ない : デフォルトの名無しさん (ワッチョイ 2d48-coYL) [sage] 2018/09/26(水) 22:22:27.92:Ozpnqin20 さあねえ どうしろって言いたいの? : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 22:33:54.33:I4Gvy1+q0 WinAPIはインターフェースだけを提供していて実装は分からない つまりコンパイラを考える人はMicrosoftの開発者だけってことですか? それだとコンパイラ入門ってどういうことなんでしょうか? : デフォルトの名無しさん (アウアウエー Sa4a-KpFT) [sage] 2018/09/26(水) 22:40:30.36:07am72nua 1950年代にもうそれなりのアセンブリあるんだからすごいよね。 みんな頭いいんだな。 : デフォルトの名無しさん (ワッチョイ 2e81-coYL) [sage] 2018/09/26(水) 22:41:00.36:T1RBGvug0 君はコンパイラを使いたいのか それともコンパイラを作りたいのか : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 22:44:12.95:I4Gvy1+q0 すいません 正直話すと レポートってのは2年のとき落とした履修で 今は卒論でコンパイラ作りたいんです… つまりダブルということになります… : デフォルトの名無しさん (オイコラミネオ MMc9-KkRk) [sage] 2018/09/26(水) 22:48:53.63:cOtTFh6NM とりあえずアセンブラでも作ってみたら。 コンパイラ作るよりずっと簡単だけど、いろいろ学べることは多いと思うよ。 : デフォルトの名無しさん (ワッチョイ 2d8a-l/4I) [sage] 2018/09/26(水) 22:52:02.96:DUFIzm4n0 コンパイラ作るだけならCのソースからアセンブリ言語に変換するプログラムを書くだけなのでWinAPIは関係ない話 : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/26(水) 22:55:42.96:h9A6ffHl0 アセンブラも広義ではコンパイラだろ こまけえな : デフォルトの名無しさん (アウアウエー Sa4a-KpFT) [sage] 2018/09/26(水) 23:00:17.80:07am72nua 速度とか高級低級云々の話はインタプリタを持ち出した方が良かったのかね。 抽象的な機能を提供するという点ではAPIも近いところはあるね。 : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 23:04:55.14:I4Gvy1+q0 例えばprintf関数のアセンブリは どのOSだろうが一緒なんですか? : デフォルトの名無しさん (ワッチョイ 42b3-JQ9C) [sage] 2018/09/26(水) 23:05:53.49:s3sau8dm0 > アセンブラも広義ではコンパイラだろ 全然違うしw 雑すぎるわ : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/26(水) 23:07:11.91:h9A6ffHl0 うるせえよ 意味伝わってんのにネチネチ粘着すんなよダリい奴だな : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/26(水) 23:10:27.33:h9A6ffHl0 違うよ OS毎にprintfのバイナリが用意されてて おまえが書いたコードをコンパイルしてからそいつとリンクして繋げるだけ : 284 (ワッチョイ 2e80-tQZR) [sage] 2018/09/26(水) 23:12:49.78:P+3GV8ah0 ここに書いた バイナリ・機械語は、各CPU に固有のもの。 intel・AT&T では逆に書く 開発者は、各CPU 毎にプログラミングできないから、 仮想アセンブラのLLVM ができた : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 23:15:29.87:I4Gvy1+q0 ちょっと複数のPC勝ってアセンブリ確認してみますw 例えばWindows98とWindowsMEとかでも厳密に言えば アセンブリが違うかもしれないってことですよね : デフォルトの名無しさん (ワッチョイ 6175-yLbS) [sage] 2018/09/26(水) 23:17:41.51:h9A6ffHl0 : デフォルトの名無しさん (アウアウウー Sa25-xOzC) [sage] 2018/09/26(水) 23:23:11.54:VlfJEAqXa コンパイラがそもそもどんな物かも分かってないんだから、コンパイラを作ろうなんて考える前に、コンパイラを使ってごく普通の簡単なアプリケーションプログラムを作って何をやってるのか理解しなよ。 studioやmainがおまじないだとか言ってるレベルで無謀過ぎるぞ。 : デフォルトの名無しさん (アウアウウー Sa25-xOzC) [sage] 2018/09/26(水) 23:24:21.49:8QQNIK9ea stdioの誤記です : デフォルトの名無しさん (ワッチョイ f1e9-7de5) [] 2018/09/26(水) 23:29:31.07:I4Gvy1+q0 なんか分かりました コンパイラっていうのは9割型共通のルールのpushやmoveでかけるアセンブラ をOS向きにさらに改良するってことでしょうか… 自分でprintfのアセンブラを書いてコマンドプロンプトで実行してみます さて何行になるやらですが : デフォルトの名無しさん (ワイモマー MM62-Y32S) [sage] 2018/09/26(水) 23:39:57.62:tnf9UX1gM こんなタイミングでIDって変わるもんなの : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/26(水) 23:44:08.19:nZ7x0XR+0 オマエ、分かってて このスレの低学歴知恵遅れをおちょくってるだろ しかもちゃんと罠もしかけてる オマエが思ったとおりこのスレの低学歴知恵遅れはちゃんと答えれない まずこのこのスレの低学歴知恵遅れは 実行モジュールがどういったもんか分かってないからな : デフォルトの名無しさん (ワッチョイ c980-yqSl) [] 2018/09/26(水) 23:49:25.75:nZ7x0XR+0 レスをみても分かるとおり 低学歴知恵遅れはなにも分かってないくせに 分かってるふりするのが精一杯 低学歴知恵遅れ特有のレスをしている オマエは低学歴知恵遅れを陰湿にいじめてる : 284 (ワッチョイ 2e80-tQZR) [sage] 2018/09/26(水) 23:59:09.60:P+3GV8ah0 そもそも、Windows だけでも、64/32 ビットCPU で、 CPU の命令の、サイズ・種類などが異なる i3, i5, i7 など高額・高機能になるほど、 3D・動画のコーデック命令なども付け加えられているから、処理速度は速くなる そういう命令がないCPU では、ソフトウェアで実行されるから、すごく遅い : デフォルトの名無しさん (ワッチョイ 5780-q1nr) [] 2018/09/27(木) 00:12:48.47:pq96CSzd0 きっとなこのスレの低学歴知恵遅れは PEフォーマット、EXEフォーマットとかも知らない Windows APIがDLLの関数であることも分かってない この低学歴知恵遅れは コンパイルしたソースをマシンコードにしたものだけが格納されてると思ってる レスみればほぼ間違いない : デフォルトの名無しさん (ワッチョイ 5764-u1F+) [sage] 2018/09/27(木) 00:16:16.06:GWQb325r0 まーた半角クンが湧いちゃったじゃないか。 変な正確でも,言うことが正しければいいんだが, こいつの話は間違った無根拠なものばっかりだからなぁ……。 : デフォルトの名無しさん (ワッチョイ 5780-q1nr) [] 2018/09/27(木) 00:17:47.16:pq96CSzd0 じゃあオマエが質問にオマエが答えてみ オレは常にスキがないほどカンペキなレスしか書いてないからな : デフォルトの名無しさん (ワッチョイ 5780-q1nr) [] 2018/09/27(木) 00:18:53.88:pq96CSzd0 まずこのスレにいるような程度のヤツラではムリ はっきりといえる : デフォルトの名無しさん (ワッチョイ 5780-q1nr) [] 2018/09/27(木) 00:21:06.23:pq96CSzd0 こういとこでもな 低学歴知恵遅れであることは隠せない : デフォルトの名無しさん (ワッチョイ 9fb3-JAAg) [sage] 2018/09/27(木) 00:55:00.60:fxNPrOWH0 バカはこれだから w : デフォルトの名無しさん (ワッチョイ 5780-q1nr) [] 2018/09/27(木) 01:21:44.64:pq96CSzd0 質問してるヤツの質問が このスレにいるような低学歴知恵遅れには高度すぎた しょうがない : デフォルトの名無しさん (ワッチョイ 9feb-tkB1) [sage] 2018/09/27(木) 02:26:11.63:mRs+7RE20 : デフォルトの名無しさん (ワッチョイ 7748-aemA) [sage] 2018/09/27(木) 09:17:03.76:Zeo03I1R0 > なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? たぶん俺じゃないってとぼけるだろうな : デフォルトの名無しさん (ワッチョイ 978f-mzb1) [sage] 2018/09/27(木) 11:29:18.01:XEXpxXRW0 それについては にも書いてるようなOSに対応したの部分にその意味も含めたつもりです。少なくともオレはそれを意識して書いた : デフォルトの名無しさん (アウアウカー Saab-XaUO) [] 2018/09/27(木) 12:40:10.03:U92lHhY6a この話の元はなのでどうすんのかなと思ってな。 : デフォルトの名無しさん (ラクッペ MM0b-2bq/) [sage] 2018/09/27(木) 13:02:52.87:rIrQdVdgM 法的(笑) : 330 (ワッチョイ 7748-aemA) [sage] 2018/09/27(木) 16:30:52.70:Zeo03I1R0 おまえ304か? strcmp(argv[0], "-") == 0のときに printf("%s", argv[0]); を実行した場合は - と出力されるのが何かまずいのかと聞いているんだ 答えてくれ : デフォルトの名無しさん (ワッチョイ 7f23-aemA) [sage] 2018/09/27(木) 16:57:20.64:WzI0x/ML0 "-"のときなら全然まずくないけど、1MBとか1GBくらいの0無しバイナリだと ちょっと不機嫌になるよね : デフォルトの名無しさん (ワッチョイ 5764-u1F+) [sage] 2018/09/27(木) 17:34:58.79:GWQb325r0 ファイル名を使った攻撃とかできそう : デフォルトの名無しさん (アウアウカー Saab-6oYK) [sage] 2018/09/27(木) 18:22:43.20:mzM5OoPla スタジオドットエイチって覚えてる人にありがちな間違いだな : デフォルトの名無しさん (アウアウカー Saab-XaUO) [] 2018/09/27(木) 18:25:58.92:0MoXCxtia usageの意味がなくなるのでは? そんなもん気にしないってなら別にいいんだけどね。 : デフォルトの名無しさん (ガックシ 068f-NXNJ) [sage] 2018/09/27(木) 18:52:27.42:v62G+4TD6 ADI法(ノイマン境界条件)って具体的に何をすればいいのかさっぱりわからない そもそも2次元領域(0,L)^2での計算ってCプログラム上でどう構成すればいいんだろう…1次元はなんとかなったけど : デフォルトの名無しさん (ガックシ 068f-NXNJ) [sage] 2018/09/27(木) 18:54:30.86:v62G+4TD6 と質問したかったけど数学寄りの話かな、スレチだったらすまん : デフォルトの名無しさん (ワッチョイ 97e9-DIZe) [] 2018/09/27(木) 19:30:25.34:+bSAjOWL0 今日アセンブリを作ってコマンドプロンプトで動かしてみましたが無反応です moveとかのアセンブリはコマンドプロンプトは読み込めないんですか? : デフォルトの名無しさん (ササクッテロル Sp4b-MQF+) [] 2018/09/27(木) 19:30:51.34:etRlHd3dp 靄 ttps://i.imgur.com/Pg8FdUT.jpg Helloしか出力されないんですけど、どうすれば治りますか? : デフォルトの名無しさん (ワッチョイ 17b3-RKQ0) [sage] 2018/09/27(木) 19:35:33.53:Q55DNguR0 端末が受け取ってないだけとか? printf("%lf\n", pi/a); にすれば出力される可能性が高い。 動作環境特有の話かもな : デフォルトの名無しさん (ササクッテロル Sp4b-MQF+) [sage] 2018/09/27(木) 19:39:41.84:etRlHd3dp 返事ありがとうございます。 結果は変わりませんでした。 環境はターミナルです。 : デフォルトの名無しさん (ワッチョイ 17b3-RKQ0) [sage] 2018/09/27(木) 19:45:28.08:Q55DNguR0 print だからフォーマット指示は %f か 他に理由がおもいうかばにゃい : デフォルトの名無しさん (ササクッテロル Sp4b-NXNJ) [sage] 2018/09/27(木) 19:52:24.14:YhkMlANsp z=pi/aとおいてzを出力させるんじゃダメなのか : デフォルトの名無しさん (アウアウエー Sadf-L1KE) [sage] 2018/09/27(木) 19:58:12.16:ul07XbU+a lとoの間辺りに%f置いてみれば : デフォルトの名無しさん (ワッチョイ ff81-aemA) [sage] 2018/09/27(木) 20:05:05.17:rwW0e8CF0 問題なさそうなんだけどね。 ttp://https://ideone.com/kZ5gKx : デフォルトの名無しさん (ワッチョイ ff81-DshI) [sage] 2018/09/27(木) 20:11:45.43:WRRv4FYM0 printf("%lf¥n",pi/a); ってやってみたら? : デフォルトの名無しさん (ワッチョイ d7b3-uZyL) [sage] 2018/09/27(木) 20:12:24.71:3JRfbUkA0 gdbか何かで止まってるって落ちはないよね? : デフォルトの名無しさん (ササクッテロル Sp4b-MQF+) [sage] 2018/09/27(木) 20:12:41.87:etRlHd3dp すみません。今電車の中なんで、家に帰ったら全方法を試します。 : デフォルトの名無しさん (ササクッテロル Sp4b-MQF+) [sage] 2018/09/27(木) 20:13:00.51:etRlHd3dp 皆さんアドバイスありがとうございます。 : デフォルトの名無しさん (ワイモマー MMbf-sO/y) [sage] 2018/09/27(木) 20:13:49.60:zXUlvxZ1M だれもMac持ってねぇのかwww いや俺もだけどww : デフォルトの名無しさん (ワイモマー MMbf-sO/y) [sage] 2018/09/27(木) 20:15:03.16:zXUlvxZ1M 連投ですまんがまさかコードだけ更新してコンパイルし直してないとか 初学者あるある : デフォルトの名無しさん (ワッチョイ 17b3-RKQ0) [sage] 2018/09/27(木) 20:17:54.71:Q55DNguR0 どこから Macの環境に限定できるのか俺にはよくわからん : デフォルトの名無しさん (ワッチョイ ff81-aemA) [sage] 2018/09/27(木) 20:22:16.63:rwW0e8CF0 左上の黄色と緑の丸 : デフォルトの名無しさん (ワッチョイ ff81-aemA) [sage] 2018/09/27(木) 20:23:07.84:rwW0e8CF0 Macでやっても出力は同じだよ : デフォルトの名無しさん (ワッチョイ d7b3-uZyL) [sage] 2018/09/27(木) 20:23:31.86:3JRfbUkA0 きっとソレダ : デフォルトの名無しさん (アウアウカー Saab-XaUO) [] 2018/09/27(木) 20:28:13.50:0MoXCxtia 左上の黄色と緑の点かな? : デフォルトの名無しさん (ワッチョイ 17b3-RKQ0) [sage] 2018/09/27(木) 20:28:23.35:Q55DNguR0 ですよねー : デフォルトの名無しさん (アウアウカー Saab-XaUO) [] 2018/09/27(木) 20:29:31.61:0MoXCxtia リロードせずにゆっくり書いてたらほとんど同じ書き込みが既にされていたorz : デフォルトの名無しさん (ワッチョイ 5780-q1nr) [] 2018/09/27(木) 21:28:23.17:pq96CSzd0 最後に fflush(stdout); と書けばきっと出力される やってみ : デフォルトの名無しさん (ワッチョイ 7748-aemA) [sage] 2018/09/27(木) 21:32:36.13:Zeo03I1R0 全然意味がわからない お前は何を言っているんだ? なぜ意味がなくなるんだ? : デフォルトの名無しさん (ワッチョイ 9f1b-uqLe) [sage] 2018/09/27(木) 23:48:28.04:RQl7S0Gm0 来たよーム板に。 : デフォルトの名無しさん (ワッチョイ 5764-u1F+) [sage] 2018/09/28(金) 08:16:40.85:TLhVFQk50 sed -e 's/.*/"&\\n"/' < USAGE > USAGE.c として #include "USAGE.c" : デフォルトの名無しさん (アウアウカー Saab-XaUO) [] 2018/09/28(金) 09:31:20.28:ctzrbTkBa だってコマンドの使い方の説明にならないじゃん。 : デフォルトの名無しさん (ワッチョイ 7748-aemA) [sage] 2018/09/28(金) 10:24:36.39:RVKB6eOl0 - という語句は予約されていると言いたいのか? : デフォルトの名無しさん (ワッチョイ 5764-u1F+) [sage] 2018/09/28(金) 13:21:05.27:TLhVFQk50 somecmdというアプリケーションがあったとして Usage: somecmd [--option] <file>... こういう出力を printf("Usage: %s [--option] <file>...\n", argv[0]); まあこういう感じ(もうちょっと変数やらをはさむかも知れんが)で出力するときに argv[0]がsomecmdじゃない場合がけっこうあるってことじゃないの? そしてそういう場合にUsage: ...の形式が壊れるんじゃないか,と。 : デフォルトの名無しさん (ワッチョイ 378a-DshI) [sage] 2018/09/28(金) 13:22:39.05:X1M2oU/e0 結構あるって、例えばどういう操作をする場合だろうか? : デフォルトの名無しさん (ワッチョイ 5764-u1F+) [sage] 2018/09/28(金) 13:23:29.81:TLhVFQk50 しかし俺が思うのは,そういう場合にはたして--helpを参照するかな。 argv[0]!="somecmd"の場合ってmain関数を他のプログラムから呼び出すとかそういう場合でしょ。 その時は,そのプログラムのUsage: ...が欲しい訳だから結局somecmdのUsage: ...なんて出力する必要ないでしょ。 : デフォルトの名無しさん (アウアウカー Saab-XaUO) [] 2018/09/28(金) 13:24:49.39:6mi1IA73a え?もしや - というコマンド作った場合の話? そういうことではなくて argv[0] は起動する側が自由になんでもセットできるからコマンド名になってる保証はないという話だよ。 まあ普通のシェルから起動する場合には大丈夫だろうけど、環境によっては何も入ってないかも知れないし保証はできない。 : デフォルトの名無しさん (ワッチョイ 378a-DshI) [sage] 2018/09/28(金) 13:33:55.41:X1M2oU/e0 何でもセットできる場合って、 そういう環境では0に限らず、 argv配列を使えないって事だよね : デフォルトの名無しさん (アウアウエー Sadf-L1KE) [sage] 2018/09/28(金) 13:38:19.13:s+4Nw5Rza busyboxってargv[0]で振り分けてんの? : デフォルトの名無しさん (ドコグロ MM0b-JAAg) [sage] 2018/09/28(金) 13:55:27.31:25C/+Q0qM そんな変な環境使ったことないからどうでもいいや : デフォルトの名無しさん (ワッチョイ 378a-DshI) [sage] 2018/09/28(金) 14:22:34.06:X1M2oU/e0 > 二つの仮引数を定義する場合,関数 main の仮引数は,次の制約に従わなければならない。 >- argc の値は,非負でなければならない。 >- argv[argc]は,空ポインタでなければならない。 >(中略) >- argc の値が正の場合,argv[0] が指す文字列は,プログラム名(program name)を表す。 > ホスト環境からプログラム名を得ることができない場合,argv[0][0] は,ナル文字でなければ > ならない。 JIS X3010:2003 5.1.2.2.1 だそうです。 : デフォルトの名無しさん (ワッチョイ bfd5-E/Y9) [sage] 2018/09/28(金) 16:10:35.86:mp2jkAzV0 argv[0] にはパスも含まれ得るし、シンボリックリンクから起動されれば実体の名前ではなくなるけど、usage にコマンド名としてコマンドライン上のコマンドパスを表示したいの? : デフォルトの名無しさん (ワッチョイ 171d-aemA) [sage] 2018/09/28(金) 17:12:54.15:08RUBfsA0 呼ばれた名前でusageわざわざ変えてるコマンド見たことないな せいぜい例示コマンドが呼ばれた名前に変わってるくらい : デフォルトの名無しさん (ワッチョイ 171d-aemA) [sage] 2018/09/28(金) 17:16:02.91:08RUBfsA0 ゴガギーン ドッカン m ドッカン =====) )) ☆ ∧_∧ | | / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( )| |_____ ∧_∧ < おらっ!出てこい 「 ⌒ ̄ | | || (´Д` ) \___________ | /  ̄ | |/ 「 \ | | | | || || /\\ | | | | | へ//| | | | | | | ロ|ロ |/,へ \| | | | | ∧ | | | |/ \ / ( ) | | | |〈 | | | | / / / / | / | 〈| | | / / / / | | || | | / / / / =-----=-------- | | : デフォルトの名無しさん (ワッチョイ ff81-aemA) [sage] 2018/09/28(金) 18:30:23.06:mFoW6O3i0 実行ファイルをリネームしてもusageが使えるとか シンボリックリンクで別名作っても大丈夫とか : デフォルトの名無しさん (ササクッテロル Sp4b-MQF+) [sage] 2018/09/28(金) 18:42:59.76:6WLCN0vmp ttps://i.imgur.com/wgOfjjh.jpg ttps://i.imgur.com/FL413Fu.jpg 課題で忙しくて、返信できませんでした。半泣きになりながらやってました。 本当にすみません。今からやってみますね。 : デフォルトの名無しさん (アウアウカー Saab-XaUO) [] 2018/09/28(金) 18:46:59.61:a9B9WfnIa きっとシベリア鉄道に乗っていてまだ家に着いていないのだろう。 : デフォルトの名無しさん (アウアウエー Sadf-L1KE) [sage] 2018/09/28(金) 18:52:40.13:s+4Nw5Rza きったねえソースだな : デフォルトの名無しさん (ササクッテロル Sp4b-MQF+) [sage] 2018/09/28(金) 18:59:04.08:6WLCN0vmp ttps://i.imgur.com/Yc7Gep8.jpg 画面が汚くて申し訳ございません。 gccコマンドで実行ファイルをその都度作成しなかったのが原因でした。 : デフォルトの名無しさん (ササクッテロル Sp4b-MQF+) [sage] 2018/09/28(金) 19:00:30.32:6WLCN0vmp 具体的にどこが汚いですか? : デフォルトの名無しさん (アウアウカー Saab-XaUO) [] 2018/09/28(金) 19:05:03.12:a9B9WfnIa UNIX系OSでは compress, gzip, bzip2, xz とかの圧縮コマンドが自分が何のコマンドで動かされたかによって動作変えてるね。 同じ実行形式のバイナリを例えば gzip なら gunzip にリンクしておいてそれを実行すると gzip -d と同じ動きになる。 : デフォルトの名無しさん (ワッチョイ ff81-aemA) [sage] 2018/09/28(金) 19:06:09.19:mFoW6O3i0 本気にしなくて良いぞ : デフォルトの名無しさん (アウアウエー Sadf-L1KE) [sage] 2018/09/28(金) 19:07:43.61:s+4Nw5Rza まるでCみたいだ : デフォルトの名無しさん (ササクッテロル Sp4b-MQF+) [sage] 2018/09/28(金) 19:11:08.13:6WLCN0vmp c言語をずっと使ってきたので、その名残があるかもしれません... : デフォルトの名無しさん (ワッチョイ 778a-0NLG) [sage] 2018/09/28(金) 19:16:14.15:/54mTdmW0 ずっと使ってきたのならなんで素人レベルのミスしてるのw : デフォルトの名無しさん (ササクッテロル Sp4b-MQF+) [sage] 2018/09/28(金) 19:19:45.55:6WLCN0vmp コマンドプロンプトの環境が初めてだったからです。 : デフォルトの名無しさん (ワッチョイ 171d-aemA) [sage] 2018/09/28(金) 19:20:23.68:08RUBfsA0 まあ初学者あるあるだなw 俺にも覚えがある 俺の予想が的中()ということで今日から俺が半角ニキやで : デフォルトの名無しさん (ササクッテロル Sp4b-MQF+) [sage] 2018/09/28(金) 19:27:09.29:6WLCN0vmp ありがとうございます! : デフォルトの名無しさん (ワッチョイ 9f12-q1nr) [sage] 2018/09/28(金) 21:52:19.80:voc6Rn8M0 256倍本に同じような話があったな : デフォルトの名無しさん (ワッチョイ ff32-aemA) [sage] 2018/09/28(金) 22:11:42.42:S1GcH4lv0 gccとg++とか、grepとegrepとかあるやん 人間だって「陛下」と呼ばれたか「クズ」と呼ばれたかで同一人物でも行動ちがうだろ : デフォルトの名無しさん (ワッチョイ ffe8-/YFy) [sage] 2018/09/28(金) 23:19:48.69:iWGXqAI10 いいフォントだな〜 : デフォルトの名無しさん (ワッチョイ 5764-u1F+) [sage] 2018/09/28(金) 23:58:56.90:TLhVFQk50 Vimを使うんなら :syntax enable くらいしろ : デフォルトの名無しさん (ワイモマー MMbf-sO/y) [sage] 2018/09/29(土) 01:10:11.80:0yVwVmRZM viewなんじゃねーの カリカリすんなよ Macじゃどうか知らんがワイのvimrcはターミナルがカラー対応してれば勝手にsyntax on て書いてるで : デフォルトの名無しさん (ワッチョイ 178a-aemA) [sage] 2018/09/29(土) 17:41:22.99:XiPCev9Z0 Cってファイル毎のstaticが多くね? カプセル化だと思うが、それとか、do {} while(0)とか・・・ なして、そこまでしてCなんか使うんだべ? : デフォルトの名無しさん (フリッテル MM4f-acSC) [sage] 2018/09/29(土) 17:48:39.58:cLBgNyTBM 自己満足に浸るため : デフォルトの名無しさん (アウアウエー Sadf-L1KE) [sage] 2018/09/29(土) 17:52:30.71:s4F/hYZia 変数は少ない方がいいが、クラスのメンバー的なもんは仕方ないんじゃないか?どこかに書かないと。 : デフォルトの名無しさん (ワッチョイ ff23-Kdc7) [sage] 2018/09/29(土) 19:04:51.98:ZFQaS3Ne0 基本情報のc言語ってどんくらいのレベルなの?今度受けようと思うんだけど : デフォルトの名無しさん (ワッチョイ d74f-q1nr) [sage] 2018/09/29(土) 19:17:50.68:oiqQJDSj0 今現在Cを使う理由は、以下しかない。 1. 最速のコードが欲しい 2. 最小のコードが欲しい 3, 他言語では出来ないほど細かく指示したい 4. 既存のCプロジェクトの継続 てゆうかマジで理工系であらかじめCを使うと分かり切っている奴以外は、 初心者がCを選択する理由はないから止めとけ。 あと、ここでこれまでやってた「動く/動かない」レベルのやりとりは、 大学の授業の先生や同級生に聞いた方が圧倒的に早いからそうしろ。 : デフォルトの名無しさん (ワッチョイ 9f60-+gc+) [sage] 2018/09/29(土) 19:20:43.09:vBAQmIFc0 C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが 簡単に生産されるようになってる。正直いって、C を選ぶ理由が C++ プログラマーを 追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。 C++ はトンでもなく悪い設計の元になりうる。どうせこの言語ではいつも STL やら Boost やら、その他ゲロゲロベロベロの「素敵な」ライブラリの機能を使って、 それがあんたのプログラムに「役立つ」んだろうが、以下のことが起きる: - うまく動かないときにもたらされる際限のない苦痛 (あと STL とか、特に Boost が 安定してるとか移植性があるとかいう奴は、どいつもこいつも大ウソつきで、 もはや笑えるレベルを超えている) - 非効率な抽象プログラミングモデルで、2年たった後にこれらが実はそんなに 効率的じゃなかったことに気づくケース。でもそのときにはすでに全部の コードがその素晴らしいオブジェクトモデルに依存していて、直すためには アプリ全体を書き直さなきゃなんない。 言いかえれば、唯一まともで、効率がよくて、システムレベルで使えて、移植性がある C++ ってのは、基本的に C で使える機能だけに限ったときなんだ。そして C だけに 限定するってことは、他の人がそれをめちゃくちゃにしないってことで、 ついでに沢山のプログラマが実際に低水準の問題を理解することができて、アホらしい 「オブジェクト・モデル」のたわごとを持ちこまないってことだ。 : デフォルトの名無しさん (ワッチョイ d7b3-uZyL) [sage] 2018/09/29(土) 19:29:15.10:PLQNiWP00 ワンチップマイコンの組み込みソフトはC言語1択だけどな。 C言語は最低限のスキルとして習得しておくべき。 : デフォルトの名無しさん (ワッチョイ d74f-q1nr) [sage] 2018/09/29(土) 19:34:28.70:oiqQJDSj0 俺はLinusの意見には同意だぞ。 ただ、それはC++が糞だと言っているのであって、Cがいいと言っているわけではない。 そして、俺が初心者に勧めるのはLL言語だ。(Ruby/Python/JavaScript/(PHP)) これらにはインタプリタ環境がある。それだけで初心者には全然違う。 それ以前に、型等の恩恵を受けたいのならC#の方が断然良い。 というか、後発言語はC言語の駄目な点を改良してきているのだから当然いろいろ優れている。 C++もこれに含まれる。だからC++も『正しく使えば』いい言語だ。 当たり前だがほぼ上位互換な訳でね。 ああ、それなら、以下を付け加えておこう。 5. C以外の環境がない : デフォルトの名無しさん (ワッチョイ 5764-u1F+) [sage] 2018/09/29(土) 19:48:34.77:PPHj/b7C0 #if 0 って今となっては不要だよね。 なぜならフレームワークを適当に設定することで開発用と製品用のコードを分離できるようになってるから VCSでブランチ切ってもいいし。 : デフォルトの名無しさん (ワッチョイ d74f-q1nr) [sage] 2018/09/29(土) 20:04:11.39:oiqQJDSj0 つ ttp://https://stackoverflow.com/questions/3630601/why-use-if-0-for-block-commenting-out/3631513 要するにブロックコメントをブロックでコメントアウトするのに便利、だそうな。 ルールでなら // に統一しろ、とか言われる所だな。 (VCSというか)今はGit全盛だが、勿論それらもなかった頃からCは全面的に使われていたので、 今となっては古い(原始的)と思える機能も沢山ある。 これは古い言語の宿命だからある程度致し方ない。 コーディングルールでも「あれは白黒ディスプレイの為の物」と言われているものあるだろ。 : デフォルトの名無しさん (ワッチョイ bfd5-E/Y9) [sage] 2018/09/29(土) 22:15:37.87:UH1zl1PU0 ワンチップマイコンだとアセンブラも有力 : デフォルトの名無しさん (ワッチョイ 9740-K3KX) [] 2018/09/29(土) 22:38:18.17:gtdSXLh90 forthって組み込み系でもう使ってないの? : デフォルトの名無しさん (ワッチョイ ff81-aemA) [sage] 2018/09/29(土) 22:39:39.91:s2JlOOSC0 使いやすい言語だとは思わないけどな : デフォルトの名無しさん (ワッチョイ 9fb3-JAAg) [sage] 2018/09/29(土) 23:11:41.46:X4waiIaR0 そもそも最近使われてるのを見たことない 処理系が軽いのよ : デフォルトの名無しさん (アウアウカー Saab-L1KE) [sage] 2018/09/29(土) 23:32:32.75:ozlzkqfsa postscriptは割と使ってるかもな。知らんが。 : デフォルトの名無しさん (ワッチョイ 9f12-q1nr) [sage] 2018/09/30(日) 00:28:39.07:YvS5SBel0 今をときめくpythonの大部分がCだろ 便利なimport含めて : デフォルトの名無しさん (ワッチョイ 57d2-qehE) [sage] 2018/09/30(日) 00:51:11.84:QRI6I66L0 最近プログラミングに熱意が持てなくなってきた だれかたすけて・・・ : デフォルトの名無しさん (ワッチョイ d780-eZfo) [sage] 2018/09/30(日) 00:53:49.78:mUWBdCHT0 言語作ろうぜ あるいはハード作ろうぜ : デフォルトの名無しさん (ワイモマー MMbf-sO/y) [sage] 2018/09/30(日) 13:35:46.44:8vGviIsrM ここのレベルじゃ無理 : デフォルトの名無しさん (ワッチョイ bf9f-aemA) [] 2018/09/30(日) 19:56:21.83:KPqVv5wd0 とりあえず昔のC++みたいにC言語へのトランスレーターで作っとけよ。 : デフォルトの名無しさん (ワッチョイ d7b3-uZyL) [sage] 2018/09/30(日) 20:08:07.13:pfgCoU5B0 昔々、とあるマクロ言語を開発してた頃はyacc/lex(bison/flex)を使ってたんだが、今どきもこういうコンパイラコンパイラを使ったりするんだろうか? : デフォルトの名無しさん (ワッチョイ 1f9e-aemA) [sage] 2018/09/30(日) 20:08:42.93:PasHsNHY0 ForthってMINDのベースって事くらいしか知らない : デフォルトの名無しさん (ワッチョイ 9740-K3KX) [] 2018/09/30(日) 20:25:52.96:CSkWhxVk0 sedとかで十分なことでもgoでパーサ使う人はいるな : デフォルトの名無しさん (ワッチョイ f79f-ZVm4) [] 2018/09/30(日) 21:41:15.10:ZDEBOTA70 質問です。 ソースが公開されてないライブラリを使用していまして その中に特殊なファイルを読み込む関数があります。 事情があってその特殊なファイルを暗号化して保存したいのですが 暗号化してしまうとそのライブラリの関数から直接読み込めません。 暗号を解除する関数を通してそれが一時ファイルを吐けば可能ですが 大量にあるので出来ればもっと良い方法があればそれを採用したいと思っています。 例えば暗号解除後そのままメモリをファイルの様に扱う等は出来ないでしょうか? よろしくおねがいします。 : デフォルトの名無しさん (ワッチョイ d7b3-uZyL) [sage] 2018/09/30(日) 21:50:14.42:pfgCoU5B0 OSが分かんないけどtmpfsとか駄目なの? : デフォルトの名無しさん (アウアウカー Saab-L1KE) [sage] 2018/09/30(日) 22:13:05.28:vpsmo7Y3a read/writeを包んじゃうとか。LD_PRELOAD的な。 実行中のメモリが読めるならなんでもありという気もするが : デフォルトの名無しさん (ワッチョイ f79f-ZVm4) [sage] 2018/09/30(日) 22:17:19.98:ZDEBOTA70 さっそくありがとうございます!OSはWindowsです。 方法はありそうですね? 教えてもらったキーワードで自分でも少し調べてみます! : デフォルトの名無しさん (ワッチョイ 17b3-RKQ0) [sage] 2018/09/30(日) 22:21:51.99:6gTyS6vx0 そのライブラリの特殊なファイルを読み込む関数のインターフェースはファイル名を求めているのだろうか? それともファイルへのハンドルを求めているのだろうか? 前者と仮定してうまく凌ぐ方法はあんのかな? 名前付きマッピングオブジェクトかなんか? : デフォルトの名無しさん (ワッチョイ f79f-ZVm4) [sage] 2018/09/30(日) 22:25:01.08:ZDEBOTA70 ありがとうございます。ファイル名です。 OSはWin10です。 : デフォルトの名無しさん (ワッチョイ f79f-ZVm4) [sage] 2018/09/30(日) 22:27:41.29:ZDEBOTA70 tmpfsはWinだと使えないのですね?残念です。これはまさに理想的だったので。 LD_PRELOADは関数を上書きできるのですね。こちら更に調べてみます。 : デフォルトの名無しさん (ワッチョイ f79f-ZVm4) [sage] 2018/10/01(月) 00:45:26.18:0BEK1cUt0 どれもWindowsじゃ無理っぽいですね… tmpfsが使えれば一番よかったんですが。 : デフォルトの名無しさん (アウアウオー Sadf-Kj1O) [sage] 2018/10/01(月) 03:15:04.29:p5nbtFpra FILE*で文字を直接参照するのと一旦文字の配列にコピーして参照するのとでは速度差はありますか? : デフォルトの名無しさん (ワッチョイ ff80-LozN) [sage] 2018/10/01(月) 04:00:25.04:2PPz6CoJ0 コピーするのに、メモリ・時間を使うから、 コピーしない方が速い : デフォルトの名無しさん (ワッチョイ 9f02-aemA) [sage] 2018/10/01(月) 05:28:57.52:qsdLJDx40 コピーせずに直接参照ってどうやるの? : デフォルトの名無しさん (ワッチョイ d7b3-uZyL) [sage] 2018/10/01(月) 05:37:04.66:kFV2gm8E0 WindowsでもRAMDiskは作れる(そういうツールがある)けど、エレガントな方法はファイル系のAPIをHookするって手もあるかな? : デフォルトの名無しさん (ワッチョイ 7f23-aemA) [sage] 2018/10/01(月) 09:06:42.48:Qvezncj/0 これなんてエディタ? 秀丸? : デフォルトの名無しさん (ワッチョイ 778a-acSC) [sage] 2018/10/01(月) 09:25:37.38:bI30HRk50 Spyderだろ : デフォルトの名無しさん (ワッチョイ ff80-LozN) [sage] 2018/10/01(月) 09:27:43.52:2PPz6CoJ0 メモリファイルは無いの? : デフォルトの名無しさん (アークセー Sx4b-uZyL) [sage] 2018/10/01(月) 09:33:21.48:UNHR2HPsx メモリマップトファイルが使えれば良いんだけど、バイナリ提供内部でファイル名で直接CreateFileしちゃってるなら難しいんじゃないかな? 俺が知らないだけでうまい方法があるかもだけど。 : デフォルトの名無しさん (ワッチョイ bfd5-E/Y9) [sage] 2018/10/01(月) 09:51:55.51:7/sdPVVo0 ちなみにどんなファイルを読むライブラリなの? 比較的単純なら自分で書き直す方が早いんじゃね?と思ったり。 sqlite みたいなのになってくると手に負えなそうだけど。 : デフォルトの名無しさん (アウアウエー Sadf-L1KE) [sage] 2018/10/01(月) 10:05:04.00:5qQ+3kFva 暗号化したボリュームに書き込みたいとかいう話ではないんだよな : デフォルトの名無しさん (ワッチョイ 9f02-aemA) [sage] 2018/10/01(月) 12:02:16.95:qsdLJDx40 ファイルマッピングだって、結局はディスク上のファイルイメージをメモリにキャッシュするだけだぞ ライトバックキャッシュなので「書き戻せ」というコマンドを自分では書かないから 何か特殊なもののように誤解されやすいが、 ハード的にCSやWEがチャネルコマンドに変換されるとかそういうことは一切ない : デフォルトの名無しさん (ワッチョイ 17ea-RKQ0) [sage] 2018/10/01(月) 12:05:58.57:AKKTs5+S0 名前付パイプ渡してうまくいくといいなー ぐらい : デフォルトの名無しさん (アウアウカー Saab-6oYK) [sage] 2018/10/01(月) 12:18:15.13:e2K2pEIVa パス名でしか読み込めないクソライブラリをありもので解決するならramdiskしかないな ライブラリを修正できるなら俺だったら読み込み処理をコールバックにする : 459 (ワッチョイ f79f-ZVm4) [sage] 2018/10/01(月) 12:26:59.19:0BEK1cUt0 みなさんありがとうございます。むずかしそうですね… ファイルの仕様も公開されてないので自分で描き直すのもむずかしいです… 理想的な流れとして以下のように出来ればいいのですがむずかしいのですかね… 1 暗号化したファイル読み込み 2 暗号解除 3 メモリに元ファイルとして生成 4 ファイル名を元ファイルを読み込む関数に渡してメモリ上のファイルを読み込む : デフォルトの名無しさん (ワッチョイ f79f-ZVm4) [sage] 2018/10/01(月) 12:28:50.21:0BEK1cUt0 ramdiskですか。ちょっとそちらで調べてみます。ありがとうございます。 : デフォルトの名無しさん (ワッチョイ 17ea-RKQ0) [sage] 2018/10/01(月) 12:47:38.04:AKKTs5+S0 ramdisk も中間ファイル書き出してその名前を渡すのとかわらんでしょ いずれにしろ復号済みのファイルが実体化しちゃってる : デフォルトの名無しさん (アークセー Sx4b-uZyL) [sage] 2018/10/01(月) 12:57:10.39:UNHR2HPsx 難しいというか、技術的な実現方法はいくつか思いつくけど要件がよく分からないのでこれにすべきと言えないだけ。 : デフォルトの名無しさん (アウアウカー Saab-6oYK) [sage] 2018/10/01(月) 13:02:33.93:e2K2pEIVa 面倒な手順だけど、fuse+ramfsってのもあるか windowsにramfsがあるか知らんけど : デフォルトの名無しさん (アウアウカー Saab-XaUO) [] 2018/10/01(月) 13:15:50.57:yvyswmJaa RAMディスクなら速いだろうけど普通のファイルシステムとアクセス方法は同じだから普通にディスクにファイル作っても同じだよ。 そのディスクがSSDならば正にRAMディスクだしな(ちょっと遅いかも知れないが)。 そのファイルは本当にRAMディスクのような高速アクセスできるようなファイルシステム上に作らねばならないものなのか? : デフォルトの名無しさん (ワッチョイ f79f-ZVm4) [sage] 2018/10/01(月) 13:19:01.59:0BEK1cUt0 みなさんありがとうございます。 要件としては元のファイル自体が公開されているライブラリで読み込めてしまうのでそれを防止したいんです。 ようは簡単に読み込めなく出来ればいいだけなんですね。 でも一応メモリ内に復号後のものが実体化されちゃいますがとりあえずこれが出来ればいいかなと。 もう少し自分でも色々調べてみます。 : デフォルトの名無しさん (ワッチョイ 17ea-RKQ0) [sage] 2018/10/01(月) 13:21:27.31:AKKTs5+S0 メモリ内だけじゃなくエクスプローラから丸みえだし、ファイルも普通に読み書きできるよ? <ramdisk : デフォルトの名無しさん (ワッチョイ f79f-ZVm4) [sage] 2018/10/01(月) 13:24:04.57:0BEK1cUt0 なんというか単に目に見えるところに作りたくないというだけなんですね。 原理的には読めちゃうんだと思いますがとりあえず素で通常のディスクに書き出すよりは少しはマシかなと。 : デフォルトの名無しさん (ワッチョイ f79f-ZVm4) [sage] 2018/10/01(月) 13:25:19.86:0BEK1cUt0 ramdiskはそうなんですね… それだとマズイなあ… やっぱり見えない形で展開できればいいんですが。 : デフォルトの名無しさん (アークセー Sx4b-uZyL) [sage] 2018/10/01(月) 13:30:03.85:UNHR2HPsx RAMDiskをNTFSでフォーマットして適切なPermission管理すれば良いんじゃね? : デフォルトの名無しさん (ワッチョイ f79f-ZVm4) [sage] 2018/10/01(月) 13:40:12.23:0BEK1cUt0 あとRAMDiskについては使用者のPCに勝手にそういう領域を作っても問題ないのかも気になりました。 アプリが終了すれば常に確実に領域がクリアされ解放されればいいんですが何かのアクシデントで残ってしまわないかとか。 もうちょっと自分でも色々考えてみます。 : デフォルトの名無しさん (アウアウエー Sadf-L1KE) [sage] 2018/10/01(月) 14:13:49.93:2kmJAioya 隠蔽かつ高揮発?を実現したいということならいろいろありそう。 windowsのfuseって昔あったよな。 : デフォルトの名無しさん (ワイモマー MMbf-sO/y) [sage] 2018/10/01(月) 14:51:25.74:tOl4q5VhM Windows詳しいマンはおらんのか : デフォルトの名無しさん (バッミングク MM1b-uZyL) [sage] 2018/10/01(月) 14:56:04.14:n3AkgheKM だからAPI Hookだって。 : デフォルトの名無しさん (ブーイモ MM7b-/SOc) [sage] 2018/10/01(月) 17:27:27.14:sRgrdSMiM すでに出てるけど、名前付きパイプかファイルマッピングオブジェクトじゃいかんのか : デフォルトの名無しさん (ワッチョイ 9f02-aemA) [sage] 2018/10/01(月) 17:41:52.83:qsdLJDx40 Windowsの話してやってんのに通じないやつが何か文句言ってらあ : デフォルトの名無しさん (アウアウカー Saab-6oYK) [sage] 2018/10/01(月) 19:43:43.06:3ZN7cetya パス名経由でしか読み込めないんだからありもので対処するならOS経由の手段に限られる クソライブラリに手を加えられないなら自作するかramdiskで我慢するしかないよ : デフォルトの名無しさん (ブーイモ MM7b-/SOc) [sage] 2018/10/01(月) 20:18:05.62:xRBX1/Y3M もちろんwindowsの話なんだけどな : デフォルトの名無しさん (ワッチョイ 17b3-RKQ0) [sage] 2018/10/01(月) 20:50:02.06:73T+9RSN0 狙うとすれば ReadFile あたりだろうけど、あまりに根っこ過ぎて ちゃんと狙い撃ちしたい箇所だけに限定できるのか正直わからんところ : デフォルトの名無しさん (バッミングク MM1b-uZyL) [sage] 2018/10/01(月) 21:43:55.95:n3AkgheKM 狙うならCreateFileだと考えてた。 予めメモリマツプトファイルに復号化しておいてそのハンドル返せば、後はReadFileはHookしなくても煮るなり焼くなり好きにしてもらったら良いと。 : デフォルトの名無しさん (アウアウエー Sadf-L1KE) [sage] 2018/10/01(月) 21:58:38.38:2kmJAioya dropboxとか具体的にどういう技術なん? : デフォルトの名無しさん (ワッチョイ d735-aemA) [sage] 2018/10/01(月) 22:54:48.81:2yHgzixG0 APIHookかVFSを自分で実装するかになるんじゃね 前者の方が簡単そうだな : デフォルトの名無しさん (ワッチョイ 5780-q1nr) [] 2018/10/01(月) 23:58:25.83:zfKNS/F/0 CreateFileMappingにわたすCreateFileのファイルハンドルは すでにファイルシステムと関連付けられたファイルハンドルになる メモリならINVALID_HANDLE_VALUEを渡す ドキュメントにしっかり書いてあるのに 相変わらず低学歴知恵遅れは 口からデマカセの頭悪いテキトーなことばっかりいってるわ。。。 : デフォルトの名無しさん (ワッチョイ 5780-q1nr) [] 2018/10/02(火) 00:01:04.71:R8M7QKDK0 そもそも質問してるヤツはファイルシステムに復号化されたファイルができるのがダメといってるのに 相変わらずだわ。。。 : デフォルトの名無しさん (ワイモマー MMbf-sO/y) [sage] 2018/10/02(火) 00:19:59.97:9fPP7dMwM ならばどうする半角よ 貴様の格の違いを見せてやれ : デフォルトの名無しさん (アウアウカー Saab-mYIU) [sage] 2018/10/02(火) 00:24:37.79:69sVZg4Ka この流れで初書き込みだけどソースが公開されていないで思いどうりに読み込めないのであれば自分で実装したほうがいいんじゃね バイナリモードで読み込めばいいんじゃないの : デフォルトの名無しさん (ワッチョイ ffe9-WJev) [] 2018/10/02(火) 00:31:01.73:Cp0nvcbE0 また自演か : デフォルトの名無しさん (アウアウカー Saab-mYIU) [sage] 2018/10/02(火) 00:35:23.62:nity8XPfa 499だけどオレが自演って事になってるのか? : デフォルトの名無しさん (アウアウエー Sadf-L1KE) [sage] 2018/10/02(火) 00:40:31.83:6wQ+/Q1Ma dropboxは非同期にrsyncみたいなことしてる感じだな。 ここで求められてるのは同期だね : デフォルトの名無しさん (ワッチョイ 5780-q1nr) [] 2018/10/02(火) 00:55:56.80:R8M7QKDK0 検討がつかない そもそも使ってる関数のソースが未公開の前提らしいからな 中でなにやってるかなんかまったく分からんからこういう質問してるんだろうしな きっとReadFileを呼んでるのだろうという程度のことしか分からない それは質問してるヤツもその程度は分かってるハズ そして、そのファイルを読み込む関数のインターフェースもよく分からない ファイルハンドルを渡すのかファイルパス渡すとかも分からない 情報が一切ないから検討しようがないといいたいが 両方とも検討した結果、簡単ないい方法が思いつかない 別プロセスにしてCONIN$使うとかインチキくさい方法ぐらいしかパッと思いつかなかった でな、この要件に至るまでの根本的な部分について知りたい その暗号化したファイルを今までどうやって出力してたかという部分になる 読み込みはその操作と逆の操作をすればいいハズだからな もし暗号化して出力するときに、平文のファイルを一時的にテンポラリに出力してから暗号化してるなら 入力するときに平文のファイルを一時的にテンポラリに出力するのは許容範囲になると言い張れれば コレで解決する コレでイケルハズ : デフォルトの名無しさん (アウアウエー Sadf-L1KE) [sage] 2018/10/02(火) 01:03:57.23:6wQ+/Q1Ma そうじゃなくて、生データを隠したいんじゃないか? : 459 (ワッチョイ f79f-ZVm4) [sage] 2018/10/02(火) 02:49:53.61:qS1Sk5MG0 みなさん色々と案をありがとうございます。 あれから自分で調べたり考えたりしてたんですが どうにかファイルの構造を知る事が出来そうで 中身を自分で書き換える(復号化ロジック込みの読み込み関数を書く)事にしました。 非常にお騒がせしてしまいまして申し訳ございませんでした! : デフォルトの名無しさん (ワッチョイ 5764-u1F+) [sage] 2018/10/02(火) 04:36:17.92:yoF3UpeG0 Cのテスト関係のツールでおすすめとかありますか? 業務ではなく個人の趣味としてのプログラミングなので,できれば無償・オープンソースなのがいいです。 ttp://https://en.wikipedia.org/wiki/List_of_unit_testing_frameworks#C ここを見ると,やはりCに関しても単体テストが最適なようですが… : デフォルトの名無しさん (ワッチョイ ffe9-WJev) [] 2018/10/02(火) 04:42:42.21:Cp0nvcbE0 本当に自演が大好きなんだな : デフォルトの名無しさん (ワッチョイ 5764-u1F+) [sage] 2018/10/02(火) 06:50:29.85:yoF3UpeG0 ? え,もしかして俺に対して? そうだとしたら まったくの言い掛かりなんだけど……。 純粋に,単体テストのおすすめを訊きたいだけ。 : デフォルトの名無しさん (アウアウウー Sadb-6F7C) [sage] 2018/10/02(火) 11:07:45.33:Yfg2/nZYa 世の中のすべてが自演に見えちゃう病気の人かも知れないから、スルーしておけばいいんじゃない? : デフォルトの名無しさん (ワッチョイ 9747-mzb1) [sage] 2018/10/02(火) 11:08:35.53:EEmEj/et0 まーた自演か : デフォルトの名無しさん (アウアウカー Saab-XaUO) [] 2018/10/02(火) 12:14:34.37:RjhRAQY1a まーた自演か : デフォルトの名無しさん (ワッチョイ 9702-aemA) [sage] 2018/10/02(火) 13:22:40.96:kk/2dA0Y0 「自演じゃないもん」なんて弁明しても証明できないところで相手すんなよ 無駄なことをする姿がバカっぽいぞ : デフォルトの名無しさん (アウアウカー Saab-XaUO) [] 2018/10/02(火) 13:39:01.10:RjhRAQY1a 自演じゃないもん : デフォルトの名無しさん (ワイモマー MMbf-sO/y) [sage] 2018/10/02(火) 19:19:05.31:Fj/XybmQM ウィザードブックで勉強したって方いますか? Cのレベル上げにも役立つかしら・・・ : デフォルトの名無しさん (ワッチョイ 5780-q1nr) [] 2018/10/02(火) 20:40:47.26:R8M7QKDK0 ココまでオレのジエン : デフォルトの名無しさん (アウアウカー Saab-XaUO) [] 2018/10/02(火) 20:51:11.45:hjXu6C7/a ウィザードブックってなに? : デフォルトの名無しさん (ワッチョイ 9f12-q1nr) [sage] 2018/10/02(火) 20:53:08.03:pF626ax10 魔法使いがevalとapplyの球もってる奴じゃね : デフォルトの名無しさん (ワイモマー MMbf-sO/y) [sage] 2018/10/02(火) 22:09:38.52:Fj/XybmQM 愛称違ったっけ? 『計算機プログラムの構造と解釈』です です λのやつ : ◆QZaw55cn4c (ワッチョイ 9f60-+gc+) [sage] 2018/10/02(火) 22:37:55.33:WWljJiuT0 一般の人間が翻訳に参入しているようですね : デフォルトの名無しさん (ワッチョイ d74f-q1nr) [sage] 2018/10/03(水) 00:45:37.81:+GJzyh+A0 愛称はSICPな。 ttp://sicpvn.sdf.org/smug.jpg つか、全文訳されて公開されてるのな。 ttp://https://github.com/minghai/sicp-pdf/ 詳細は以下。 ttp://https://qiita.com/kaz-yos/items/d1ecd4bfe9989c290e99 ttp://https://cpplover.blogspot.com/2016/05/mitsicp.html なお、俺は読んだこと無い。 : デフォルトの名無しさん (ワッチョイ ffe9-WJev) [sage] 2018/10/03(水) 04:12:13.38:zPlOwhsg0 またトリップ付けないで書き込みしたの? 荒らしはもうやめておいた方が良いと思う : デフォルトの名無しさん (ワッチョイ 9f60-+gc+) [sage] 2018/10/03(水) 06:56:42.02:R1dsfyjz0 >またトリップ付けないで書き込みしたの? >荒らしはもうやめておいた方が良いと思う トリップつけないで書き込みするとどうして荒らしになるのですか? というか、ほとんどの人がトリップをつけていないので、5ch は荒らしだらけ、ということですか? : デフォルトの名無しさん (ワッチョイ 9702-aemA) [sage] 2018/10/03(水) 07:02:45.12:IEc6BJqm0 アホは相手すんな : デフォルトの名無しさん (ササクッテロレ Sp10-QFHg) [sage] 2018/10/05(金) 10:05:15.64:DxqDA2/Ip ttps://i.imgur.com/BsiX5iK.jpg 添削お願いします。 : デフォルトの名無しさん (ワッチョイ bad5-6J+Z) [sage] 2018/10/05(金) 10:17:32.97:6zSKEd8l0 minute と second は while の中のスコープで宣言するといい。 あと second を printf する時、お前のやりたいことは多分 %02d でできる。 0詰め2桁表示ね。 : デフォルトの名無しさん (ブーイモ MMed-m6vJ) [sage] 2018/10/05(金) 10:21:58.92:3s3m6VbBM sleepは1秒待ってくれるとして、 前後の処理がどうしても正確に0秒でできるわけではないので誤差が溜まっていく。 定期的にシステムの時刻を見て秒の変わり目を検出するほうが正確。 : デフォルトの名無しさん (ワッチョイ bad5-6J+Z) [sage] 2018/10/05(金) 10:26:30.21:6zSKEd8l0 これはこうすべきってことでないけど、画面を消す clear、これが何をやってるか調べると面白いかもよ。 とりあえず clear > log とかやって log に何が書かれてるか見てみるといい。 次に cat log とやると何が起こるか確かめてみるといい。 これがわかると画面を消すのに clear なんて外部コマンドを使わなくてもよくなる。 : デフォルトの名無しさん (アウアウエー Sa6a-syNg) [sage] 2018/10/05(金) 10:44:56.64:uhmiVRnQa whileとelseは直後に空白あける。 : デフォルトの名無しさん (ササクッテロレ Sp10-QFHg) [sage] 2018/10/05(金) 11:16:24.26:DxqDA2/Ip ttps://i.imgur.com/ldQVwUT.jpg ↑ソースコード ttps://i.imgur.com/eCYNPsi.jpg ↑実行結果 となりました。 「set number」と「syntax on」を初期設定したいのですが、どうすればいいですか? : デフォルトの名無しさん (ワッチョイ 32e7-+YFb) [sage] 2018/10/05(金) 11:16:46.89:FRcGP58U0 free run counter : デフォルトの名無しさん (ササクッテロレ Sp10-QFHg) [sage] 2018/10/05(金) 11:19:04.80:DxqDA2/Ip あと、iPhoneのタイマーと比べた結果カウントが遅くなっていたことがわかりました。これは前後の関数を実行する際にノータイムでは出来ないことが原因だと考えられます。 : デフォルトの名無しさん (ワッチョイ bad5-6J+Z) [sage] 2018/10/05(金) 11:20:50.09:6zSKEd8l0 ちょっとまて、 を試そうとしてる雰囲気だけど、clear > log とか cat log はソースコードに埋めるんじゃなく、コマンドラインとして叩くんだよ。 : デフォルトの名無しさん (ササクッテロレ Sp10-QFHg) [sage] 2018/10/05(金) 11:44:12.58:DxqDA2/Ip ttps://i.imgur.com/5usTieQ.jpg 流れが速くて打てません。 : デフォルトの名無しさん (ササクッテロレ Sp10-QFHg) [sage] 2018/10/05(金) 11:54:29.41:DxqDA2/Ip while の中でminute,secondを宣言したら回るたびに宣言する事になるので、なんかダメだと思いました。 あと、ちゃんとしたタイマーを作るにはどうすればいいのか知りたいです。 : デフォルトの名無しさん (アウアウカー Sa0a-syNg) [sage] 2018/10/05(金) 11:56:56.95:aS2keCHZa 画面が流れるんでなくて、部分的に書き換えたい感じ? cursesを使うのじゃ : デフォルトの名無しさん (ブーイモ MMed-m6vJ) [sage] 2018/10/05(金) 12:03:40.55:3s3m6VbBM 教え方の下手くそな教えたがりばかりで あげくにcursesまで初心者に吹き込んで質問者大混乱 : デフォルトの名無しさん (アウアウカー Sa11-tGr2) [sage] 2018/10/05(金) 12:22:47.81:NVTQRcnQa なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? : デフォルトの名無しさん (スップ Sd00-t0aP) [] 2018/10/05(金) 12:23:53.35:G8OY4AG7d そこは教え方の上手なあなたが教えてあげれば良い事だな : デフォルトの名無しさん (ワッチョイ 8ad7-vBoO) [sage] 2018/10/05(金) 12:50:10.63:cQzHZ22n0 歴史に残る名言だなw : デフォルトの名無しさん (アウアウカー Sa0a-iYeS) [] 2018/10/05(金) 12:50:15.78:qaFHFmCDa それ、もういいですから。 : デフォルトの名無しさん (ワッチョイ 8e80-QLg3) [sage] 2018/10/05(金) 13:01:08.97:vpbu8eze0 clear > log cat log Linux の基本コマンドも知らないような奴が、C をやるな! 10年勉強してからやれ : デフォルトの名無しさん (ワッチョイ bad5-6J+Z) [sage] 2018/10/05(金) 13:01:39.72:6zSKEd8l0 で言ってるのは の実行とは別の話。 画面を消す方法の正体を調べる手順だから、ヒマな時にやればいい。 宣言はコンパイル時に解釈されるもので、実行時に「宣言という動作」を行っているわけじゃない。 だから実行時にかかるコストは無いから、ループの中に書いてもいい。 C は変数が見える範囲(スコープ)が { } の中になってる。 minute と second は while で回してる { } の中でしか使ってなく、かつ表示のための一時的な変数だから、それを必要とする範囲内だけで見えるようにすると分かりやすくなる。 変数のスコープは極力狭くなるように書くといいよ。 分かりやすさの点でもいいし、メモリ(スタック)の消費量も少なくなる。 正確なタイマーを作るならインターバルタイマーで調べてみるといいけど、まだそれを使えるレベルじゃないと思う。 curses ってなに? : デフォルトの名無しさん (アウアウカー Sa0a-iYeS) [] 2018/10/05(金) 13:03:13.60:qaFHFmCDa 1秒ごとに setitimer() とか使って割り込み掛かればいいんだけどね、普通のOSだとあまり正確にではないかも知れない。しかしただsleepするよりは正確だと思う。 割り込み使わないやり方で今と似ているけどましなやり方は次の処理開始時間までより正確に sleep することだ。 これは gettimeofday() でμ秒までの時刻を取得して秒が変わるまで何μ秒なのか計算して usleep() で sleep させればできる。 : デフォルトの名無しさん (ワッチョイ bad5-6J+Z) [sage] 2018/10/05(金) 13:11:04.98:6zSKEd8l0 curses ってライブラリか。 面白そうだな。 : デフォルトの名無しさん (ササクッテロレ Sp10-QFHg) [sage] 2018/10/05(金) 13:31:56.77:DxqDA2/Ip 変数の宣言はコンパイル時に解釈されているのですね。わかりました。 「set number」と「syntax on」を初期設定にするにはどうすればいいですか? : デフォルトの名無しさん (ササクッテロレ Sp10-QFHg) [sage] 2018/10/05(金) 13:33:35.60:DxqDA2/Ip あと、インターバルタイマーも調べて起きます。 : デフォルトの名無しさん (ワッチョイ 2abe-selW) [sage] 2018/10/05(金) 16:55:26.05:NK5dBb8n0 printf '%s\n%s\n' 'set number' 'syntax on' >> ~/.vimrc : デフォルトの名無しさん (ワッチョイ 2abe-selW) [sage] 2018/10/05(金) 16:56:30.81:NK5dBb8n0 ていうかエディタの名前くらい書け。 まあset numberという設定名のエディタはVimくらいしか思い付かんが。 : デフォルトの名無しさん (ワイモマー MM5a-QNrK) [sage] 2018/10/06(土) 10:59:41.46:YTpMAVXmM そこはggrksだろ なに遊ばれとんねん : デフォルトの名無しさん (ワッチョイ 3fb3-Qng4) [sage] 2018/10/08(月) 11:16:41.41: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 型を代入していました。 : デフォルトの名無しさん (アウアウエー Sa6a-syNg) [sage] 2018/10/08(月) 13:21:40.69:i8/5B6xca 関数がないじゃん : デフォルトの名無しさん (ワッチョイ 965b-zn+7) [sage] 2018/10/08(月) 13:57:42.90:wqzMNkqt0 そもそもコンパイルできなかったのでは? 構造体のメンバにB4〜B7みたいな定義済みの定数は書けないよ。 : デフォルトの名無しさん (ワッチョイ b064-selW) [sage] 2018/10/08(月) 14:22:18.67:NcWFD+EU0 Cってネットワーク系のコマンド作るのに向いてる? : デフォルトの名無しさん (アウアウエー Sa6a-syNg) [sage] 2018/10/08(月) 14:26:06.72:i8/5B6xca ネットワーク系のコマンドというのが意味不明だが、socketインターフェースはある。 向いてるかといえば向いてないが、そういう低レイヤの話としては言語は何を使っても大して変わらん様な気はする。 : デフォルトの名無しさん (アウアウウー Sab5-Gru0) [] 2018/10/08(月) 14:31:56.89:meeyxWTYa REST APIなら libcurl で楽々よ : デフォルトの名無しさん (ワッチョイ fa9f-v2gR) [sage] 2018/10/08(月) 14:51:03.67:FGHe46tu0 ビットコのbot殆どがPythonやNode.jsばっかだけど libcurl使えばスクリプト言語並みに簡単に使えるよね : デフォルトの名無しさん (ワッチョイ b064-selW) [sage] 2018/10/08(月) 15:10:37.99:NcWFD+EU0 なるほどソケットっていうのもあるのか。 無知なもので「ネットワークコマンド」と言えばwgetやらcurlやらのTCPクライアントだけを指すと思ってたw curlってコマンドだけじゃなくてlibcurlも提供してくれてるんだね。 だったらpure CでもTCPクライアントが作れそう。 : デフォルトの名無しさん (アウアウエー Sa6a-syNg) [sage] 2018/10/08(月) 15:53:56.39:i8/5B6xca 言葉の話だけどcurlは基本的にはHTTPクライアントだ。TCPの上に乗ってる。 TCPクライアントはtelnetとかncだな。ncはUDPも行ける。 TCPも基本的には難しくないが、異常系を考え出すときりがない。 : デフォルトの名無しさん (ワッチョイ d881-t36n) [sage] 2018/10/08(月) 16:51:30.03:wTnfR6Jf0 大昔ソケットレベルから自前でHTTPクライアント作ったことある TCPプロトコルを学ぶ良い勉強になるよ : デフォルトの名無しさん (ワッチョイ d980-A6IM) [] 2018/10/08(月) 16:56:21.14:SHTmPUE+0 相変わらず低学歴知恵遅れは頭悪いこといってるわ ソケット通信でTCPプロトコルとか オマエがソケット通信でやりとりしてんのはHTTP ホントななんでココまで頭悪いのしかいないのか不思議 : デフォルトの名無しさん (ワッチョイ d980-A6IM) [] 2018/10/08(月) 17:00:43.05:SHTmPUE+0 トランスファープロトコルにTCP/IP使ってるといっても きっとこのスレの低学歴知恵遅れは意味が分からない smtpもftpもほとんどが普通にtcp/ipだからな いまどきのnetbiosも普通にtcp/ipだからな 昔はトランスファープロトコルにnetbeuiつかってた で、今ではnetbios over tcp/ipで nbtとかなんとかいってる : デフォルトの名無しさん (アウアウエー Sa6a-syNg) [sage] 2018/10/08(月) 17:32:32.71:i8/5B6xca 知らんテクニカルタームは使うときに確認しろよ : デフォルトの名無しさん (ワッチョイ d980-A6IM) [] 2018/10/08(月) 17:34:14.12:SHTmPUE+0 また低学歴知恵遅れが意味不明ないちゃんもんとけてるし 先にいっとくけどな とてつもなく頭悪いこといってんのオマエだからな まずその自覚がない : デフォルトの名無しさん (ワッチョイ d980-A6IM) [] 2018/10/08(月) 17:35:52.31:SHTmPUE+0 pop3もtcp/ip sshもtcp/ip httpsもtcp/ip きっとな低学歴知恵遅れには なにをいってるのいかが分からないとは思うわ : デフォルトの名無しさん (ワッチョイ d980-A6IM) [] 2018/10/08(月) 17:37:36.24:SHTmPUE+0 ホントな低学歴知恵遅れは 頭悪いことを自信満々でいうから困るわ : デフォルトの名無しさん (ブーイモ MM5e-ebK2) [sage] 2018/10/08(月) 17:44:32.09:BtXxUchaM 基本情報どころかITパスポート程度の知識でドヤってるのか 低学歴知遅れ君は : デフォルトの名無しさん (ワッチョイ d980-A6IM) [] 2018/10/08(月) 17:47:16.60:SHTmPUE+0 それにすら到達してない低学歴知恵遅れが ドヤってるスレがこの板だからな マジで低学歴知恵遅れはこの板から排除したほうがいい 有害 : デフォルトの名無しさん (アウアウエー Sa6a-syNg) [sage] 2018/10/08(月) 17:48:30.52:i8/5B6xca じゃあ「トランスファープロコトル」ってなんだか説明してくれよ… なんだよ「ソケット通信でHTTP」って。 : デフォルトの名無しさん (ワッチョイ d980-A6IM) [] 2018/10/08(月) 17:50:22.69:SHTmPUE+0 HTTPというのは ハイパーテキストトランスファー プ ロ ト コ ル だからな ソケット通信(トランスファープロトコル意識する必要ない)で HTTPの内容してるだけだ わかった? : デフォルトの名無しさん (ワッチョイ d980-A6IM) [] 2018/10/08(月) 17:51:32.47:SHTmPUE+0 ソケット通信でHTTPの内容をヤリトリしてるのすら分かってないワケだからな ここまで頭悪いと話にならない : デフォルトの名無しさん (ブーイモ MM5e-ebK2) [sage] 2018/10/08(月) 17:51:37.49:BtXxUchaM 低学歴知遅れ君ってプロトコルの意味を理解してなさそう : デフォルトの名無しさん (ワッチョイ d980-A6IM) [] 2018/10/08(月) 17:52:10.92:SHTmPUE+0 で、低学歴知恵遅れの負けず嫌いは半端ないからな : デフォルトの名無しさん (ワッチョイ d980-A6IM) [] 2018/10/08(月) 17:52:42.31:SHTmPUE+0 これ以上語るつもりはない : デフォルトの名無しさん (ワッチョイ 15c7-vBoO) [sage] 2018/10/08(月) 17:55:15.29:o/CKA6Eq0 昨日読んだTCPの本がよっぽど気に入ったんだね : デフォルトの名無しさん (アウアウエー Sa6a-syNg) [sage] 2018/10/08(月) 17:59:44.79:i8/5B6xca だからなんだよ「トランスファープロトコル」って : デフォルトの名無しさん (ワッチョイ d881-t36n) [sage] 2018/10/08(月) 18:24:47.89:wTnfR6Jf0 TCP Transmission Control Protocol IP Internet Protocol トランスポート層 TCP, UDP, DCCP, SCTP, IL, RUDP 似たような言葉はあるが、その表現は見つからないな 並行宇宙のどこかで使っているかもしれないが ここではなさそうだ : デフォルトの名無しさん (ワッチョイ b064-selW) [sage] 2018/10/08(月) 18:25:27.11:NcWFD+EU0 あー。TCPというのはHTTPよりもう少し下層に位置する概念ってことかな?(合ってるか不安) 俺が作りたいなぁと思ったのは $ xxx 'example.com' とやるとブラウザでexample.comにアクセスして「ページのソースを表示する」機能を使ったときのような出力を返すコマンド。 これはTCPクライアントじゃなくてHTTPクライアントか。 : デフォルトの名無しさん (ワッチョイ d881-t36n) [sage] 2018/10/08(月) 18:27:46.37:wTnfR6Jf0 そう 普通はHTTPプロトコルのGETメソッド使う POSTでも良いが、設定が多少複雑になる : デフォルトの名無しさん (ワッチョイ b7b3-Ww/X) [sage] 2018/10/08(月) 18:29:18.08:lYyho1IC0 「トランスファープロトコル」は星の数ほどある「〜転送プロトコル」の用語として使われるけど、トランスファープロトコル単体で使用されてるのは聞いたことないね。 きっとトランスポートプロトコルの間違い。 : デフォルトの名無しさん (ワッチョイ d881-t36n) [sage] 2018/10/08(月) 18:29:27.24:wTnfR6Jf0 あ、下層というよりもアプリケーション層ですね : デフォルトの名無しさん (アウアウエー Sa6a-syNg) [sage] 2018/10/08(月) 18:42:58.85:i8/5B6xca まあGETするだけだったらそれこそTCPだけでもいい。 勉強としては、HTTPサーバにtelnetしてGETコマンド(と、いくつかのヘッダ)を打ち込んでみると、イメージがつかめるのではないかと。 : デフォルトの名無しさん (ワイモマー MM5a-QNrK) [sage] 2018/10/08(月) 19:28:25.64:ksVOiCMkM 半角久しぶりに来てんじゃん やっぱお前が釣らなきゃ盛り上がらんな : デフォルトの名無しさん (ワッチョイ aab3-GL8C) [sage] 2018/10/08(月) 19:39:09.30:sIA/07pT0 そろそろ知ったかマウント君はいなくなったかな? : デフォルトの名無しさん (ササクッテロ Sp88-QFHg) [sage] 2018/10/08(月) 19:44:22.79:VRFV8oUEp クソガキ多いねw : デフォルトの名無しさん (ワッチョイ 7f35-vBoO) [sage] 2018/10/08(月) 19:45:29.27:o48XySPi0 勉強したいならCで スティーブンス本で検索すれば、役に立つ書籍があるよ 使いたいだけならpostmanとかcurlでえんじゃね? : デフォルトの名無しさん (ブーイモ MMfd-c4eZ) [sage] 2018/10/08(月) 19:58:16.19:/43gNJgrM ファーwww : デフォルトの名無しさん (ワッチョイ fa9f-v2gR) [sage] 2018/10/08(月) 20:47:31.58:FGHe46tu0 半角くんとかvoidくんとかこのスレには個性的な人が多いねw : デフォルトの名無しさん (ワッチョイ 27cc-smg0) [] 2018/10/13(土) 20:15:38.78:mLt7ea1s0 すみません、C言語出テキストファイルの特定行を書き換えたいのですが 全て配列に読み込む→変更する→全て書き戻す という方向しかないでしょうか。 変更前 01.txt a=1 b=1 c=1 変更後 01.txt a=1 b=0 c=1 こういった変更を行いたいです。 : デフォルトの名無しさん (ワッチョイ e780-gma9) [] 2018/10/13(土) 20:23:20.71:L3Dj2/gz0 標準入力から1行ずつひたすら読み込む 特定行以外をひたすら同じ内容を標準出力に出力する 特定行だけ変更内容を標準出力に出力する できた : デフォルトの名無しさん (ワッチョイ e780-gma9) [] 2018/10/13(土) 20:36:09.45:L3Dj2/gz0 aho.sh ---- #!/bin/bash aho < 01.txt > 01_tmp.txt mv -f 01_tmp.txt 01.txt 引数でファイル名を指定するどうでもいいことがどうしてもしたい場合は 一旦、プログラムでテンポラリファイルに書きだして プログラムで最後にmvする必要がある : デフォルトの名無しさん (ワッチョイ e780-gma9) [] 2018/10/13(土) 20:51:29.26:L3Dj2/gz0 ttp://https://ideone.com/CYlw3P あとはテキトーにやりなさい : デフォルトの名無しさん (ワッチョイ dfb3-EA7j) [sage] 2018/10/13(土) 21:16:47.20:f9khLXsZ0 その例みたいにサイズが変わらないなら直接書き換えることは可能 : デフォルトの名無しさん (ワッチョイ 674f-gma9) [sage] 2018/10/13(土) 21:39:37.11:bu3lDLSN0 そういうのはC言語ではやらないのが正解な。 どうせ逆ギレされると思うが、そう言われたことだけでも覚えておけ。 : デフォルトの名無しさん (アウアウエー Sa9f-M9VF) [sage] 2018/10/13(土) 22:17:43.48:2jvN7D8ra voidがねえし : デフォルトの名無しさん (アウアウウー Saeb-zIC7) [sage] 2018/10/13(土) 23:02:07.79:3osNA+cUa その方向しかない : デフォルトの名無しさん (ワイモマー MMff-ytAd) [sage] 2018/10/13(土) 23:32:20.23:LnxaR5jgM 「特定行」の定義は? : デフォルトの名無しさん (ワッチョイ bf3a-DKnb) [] 2018/10/13(土) 23:33:28.10:LwGfYqlW0 UNIXならmmap()、WindowsならCreateFileMapping()を使ってファイルの内容をメモリにマップするとか。 : デフォルトの名無しさん (ワッチョイ e780-gma9) [] 2018/10/13(土) 23:34:05.47:L3Dj2/gz0 書いてあることをすべてCでやりたいなら コレでいける ぜんぶメモリにいれる必要はない @ 入力ファイル(01.txt)をリードオンリーでオープン A テンポラリファイル(出力ファイル)をmktemp()で取得 B Aで取得した出力ファイルをライトオンリーでオープン C 1行ずつ読み込んで1行ずつ書きこみ() D 入力ファイルと出力ファイルをクローズ E 入力ファイルをremove()で削除 F 出力ファイルをrename()で入力ファイルに移動 ものすごい大きいファイルが入力ファイルになった場合対応できない : デフォルトの名無しさん (ワッチョイ 0761-zIC7) [sage] 2018/10/14(日) 01:05:48.11:fk9HLJgw0 オフセットズレが発生するファイルの更新はファイルの全面書き出し以外に方法はない : デフォルトの名無しさん (ワッチョイ 7f81-VhFj) [sage] 2018/10/14(日) 01:17:59.64:Xia0NB2F0 ファイル後ろの方だと大きなファイルでも部分的な書き直しで済むんだよね : 588 (ワッチョイ 27cc-smg0) [] 2018/10/14(日) 02:24:40.11:bBeuqmk90 皆さん回答ありがとうございました。 やはり処理的にはすべて触らないとダメそうですね。 さんの例はfopenとか必要ないのですか。 : デフォルトの名無しさん (ワッチョイ dfd2-7vHE) [] 2018/10/14(日) 02:31:42.91:VGDv0f/D0 なんとなくsedで済む話な気がする : デフォルトの名無しさん (ブーイモ MM0b-ZPHe) [sage] 2018/10/14(日) 02:52:55.98:xvapfCASM ファイル入出力ストリームなら必要 あの例は標準入出力を指定してるだけ すべて触る必要があるかはデータ構造次第 更新するデータ域をブロック分割、 ブロックマップをメタ管理とかは バイナリなら一般的な手法 テキストだとスペースパディングで ブロックやエントリ管理できそうだが そんなことやってる奴は見たことない : デフォルトの名無しさん (ワッチョイ bf9f-4Hut) [sage] 2018/10/14(日) 03:26:16.87:rKkXAekW0 stdin から読むようになってるからシェルのコマンドラインからならリダイレクトで読ませれば良いだけだよ。 : デフォルトの名無しさん (ワッチョイ a77e-4Hut) [sage] 2018/10/14(日) 06:21:09.87:1QMkRc1k0 cat 01.txt | sed s/b=1/b=0/ : ◆QZaw55cn4c (ワッチョイ df60-vJCm) [sage] 2018/10/14(日) 09:20:22.59:1uKE5eLu0 スタートアップから渡される argc, argv を「使わない」のだから void なしが妥当なのでは? : デフォルトの名無しさん (ワッチョイ 674f-gma9) [sage] 2018/10/14(日) 09:33:04.94:p/Li638e0 × なんとなく ○ ほぼ確実に 「Cで」「Cで」「Cで」、初心者はCしか出来ないからそれしか考えられない。(選択肢がない) 初心者あるあるだけども。 実際これ、Cで処理されてCバイナリを引き継がされても大迷惑だし。 マジな話、上司が居るのなら上司に聞けって。これ、Cでやったら大迷惑な話だし。 聞くのが迷惑だと思っているのなら、この件については聞かない(報告しない)ほうが迷惑だ。 上司が居なくてど初心者なら、この際にスクリプト言語を覚えろ。 : デフォルトの名無しさん (ワッチョイ a77e-4Hut) [sage] 2018/10/14(日) 09:38:03.86:1QMkRc1k0 その論法でいうならvoidなし&返却値なしだな 純K&Rスタイル main() { /* do something */ exit(0); } : デフォルトの名無しさん (ワッチョイ a77e-4Hut) [sage] 2018/10/14(日) 09:39:21.07:1QMkRc1k0 例の半角野郎がまた湧いたか、しつけーな 何が上司だ、ここはム板だぼけ : デフォルトの名無しさん (ワッチョイ df12-gma9) [sage] 2018/10/14(日) 10:56:40.88:8TmCYtNe0 引数 void って初めて見たぞ。文法的にありなのかこれ? : デフォルトの名無しさん (ブーイモ MM0b-SHtH) [sage] 2018/10/14(日) 10:58:50.59:br2DRGrhM 未だ許されないvoidおじ : デフォルトの名無しさん (ワイモマー MMff-ytAd) [sage] 2018/10/14(日) 12:19:08.18:vwPmx6lGM 特定行の書き換えですが ・bの値を反転させたい(0なら1、1なら0) ・b=の行は複数出現する可能性がある() ・複数出現した場合は一番最後に出現した行の値を反転の対象にしたい ・書き換え後はb=の行は1行だけにしたい ・書き換え後はできれば a=... b=... c=... な感じでソートしててほしい これはC言語で出来ますか? どうやったらいいでしょうか? : デフォルトの名無しさん (ワッチョイ 674f-gma9) [sage] 2018/10/14(日) 13:29:01.06:p/Li638e0 「出来る/出来ない」なら、そりゃC言語で「出来ない」って事ははほぼ全ての事例で無いよ。 どうやったらいいか、なら、その場合は俺ならExcel使うね。規模的に無理ならシェルスクリプトを使う。 何でもCでやればいいわけではない。 そのお題を実際にCでやる事なんて無いから、練習用なら意味無いし、 本番としてそれをCでやる気なら、間違ってるから止めとけ。 : デフォルトの名無しさん (ワッチョイ c78a-ScHU) [sage] 2018/10/14(日) 13:32:34.90:oxI7rgHj0 の続きなのか ソートするなら全て読み出すのが一番楽だよ : デフォルトの名無しさん (ワッチョイ e780-gma9) [] 2018/10/14(日) 14:42:07.27:Q3eQCyRU0 コードの書き方みたいなこんなもんを上司に聞けとか よくわからんが、協力会社で入ってるリーダーかなんかか。。。 すげえな、そういった会社の文化をオレは知らないが そもそもそんなとこが未教育なゴミつれてきたら大問題だからな 必死になるのも分かるわ で、だれでもすぐ分かってるコマンド書いてドヤ顔して低学歴もいるしな : デフォルトの名無しさん (ワッチョイ e780-gma9) [] 2018/10/14(日) 14:43:20.19:Q3eQCyRU0 この程度ならCで書いても 普通にCで書く練習になる : デフォルトの名無しさん (ワイモマー MMff-ytAd) [sage] 2018/10/14(日) 14:46:42.49:vwPmx6lGM Excelで手作業とかは論外です シェル芸でもいいです 誰かできませんか? : デフォルトの名無しさん (ワッチョイ bfd5-KnhR) [sage] 2018/10/14(日) 14:48:14.42:b97yHnkE0 どこまで書いたのか、現状のコードを貼ってみなよ : デフォルトの名無しさん (ワッチョイ e780-gma9) [] 2018/10/14(日) 14:48:35.94:Q3eQCyRU0 sedとsort使えばいい : デフォルトの名無しさん (ワッチョイ 674f-gma9) [sage] 2018/10/14(日) 15:12:45.83:p/Li638e0 お前以外のみんな出来るっての。 お前がコードクレクレ君だからみんな適当にあしらってる。 お前が努力してる(=コードを試しに書いてみたが動かない)のなら、もう少しましな回答も出るだろうさ。 : デフォルトの名無しさん (ワイモマー MMff-ytAd) [sage] 2018/10/14(日) 16:43:39.96:vwPmx6lGM ロジックだけでも教えてください : デフォルトの名無しさん (ワッチョイ 6735-4Hut) [sage] 2018/10/14(日) 17:39:13.57:+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 : デフォルトの名無しさん (ワッチョイ 6735-4Hut) [sage] 2018/10/14(日) 17:41:50.05:+7qWkF0t0 あ、a はファイルね : デフォルトの名無しさん (ワッチョイ 6735-4Hut) [sage] 2018/10/14(日) 17:46:59.25:+7qWkF0t0 -u はいらんかったな : デフォルトの名無しさん (ワッチョイ 67b3-wEhW) [sage] 2018/10/14(日) 17:52:44.40:El+yY4uS0 tacで逆順出力、sedで初回マッチのみ置換、sortでソート出力 : デフォルトの名無しさん (ワッチョイ 6735-4Hut) [sage] 2018/10/14(日) 18:07:48.33:+7qWkF0t0 tac なんてコマンドがあるんだな、サンキュー sed 使った場合、0と1の交換と、初回マッチ分以外は出力しないようにするの、難しくない? : デフォルトの名無しさん (ワッチョイ 7f80-WnU0) [sage] 2018/10/14(日) 18:31:52.87: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 : デフォルトの名無しさん (ワッチョイ e764-66c6) [sage] 2018/10/15(月) 00:34:33.53:FbFcpKzK0 Rubyもいいけど、こういう小規模な操作にはシェルスクリプトとかが適してる気がする。 : デフォルトの名無しさん (ワッチョイ 7f81-VhFj) [sage] 2018/10/15(月) 02:17:02.27:Obfj9PeS0 の内容だけど、誰も聞かないのであえて聞くけど b=以外は何も加工せずに複数あればそのまま出力で良いのか? その場合、ソートは=の右側の数値順にするのか、文字コード順にするのかか データによっては、a=、c=、d=の行が多数出力される中でb=の行だけ1行になる ってことで良いのかな? : デフォルトの名無しさん (ワッチョイ 07e0-SmB1) [sage] 2018/10/15(月) 03:03:29.36:E6pr56BO0 私たち日本人の、日本国憲法を改正しましょう。 総ム省の、『憲法改正國民投票法』、でググって みてください。拡散も含め、お願い致します。 : デフォルトの名無しさん (ワッチョイ e780-gma9) [] 2018/10/15(月) 23:43:48.26: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) とりあえずコレでいけるハズ あとはがんばりなさい : デフォルトの名無しさん (ワッチョイ c723-M9VF) [sage] 2018/10/15(月) 23:53:21.52:9a9m7auH0 sedだけでやってみてくれや : デフォルトの名無しさん (ワッチョイ e780-gma9) [] 2018/10/15(月) 23:59:03.51:KnJWry7m0 だけでやるとはオレは一言もいってない 使うコマンドを限定した覚えはない : 612 (ワイモマー MMff-ytAd) [sage] 2018/10/16(火) 00:22:11.79: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 : デフォルトの名無しさん (アウアウエー Sa9f-M9VF) [sage] 2018/10/16(火) 00:40:38.52:xERlP6Woa チューリングマシンならなんでもできて当たり前なんや : デフォルトの名無しさん (ワッチョイ e764-66c6) [sage] 2018/10/16(火) 00:47:20.35:HI3tJEA90 Cのプリプロセッサも計算完備だしな。誰かがcppでフィボナッチ数列出力してたな そういや : デフォルトの名無しさん (ワッチョイ 7f81-VhFj) [sage] 2018/10/16(火) 00:55:44.02:gETK/lfa0 こんなんではどうかな sed -e ":l; N; 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//;}" : デフォルトの名無しさん (ワッチョイ 7f81-VhFj) [sage] 2018/10/16(火) 01:01:42.59: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でやってください : デフォルトの名無しさん (ワッチョイ e764-66c6) [sage] 2018/10/16(火) 01:20:14.73:HI3tJEA90 もはやすごいのかどうかも分からんが すごいw : デフォルトの名無しさん (ワッチョイ 7f81-VhFj) [sage] 2018/10/16(火) 01:33:16.00:gETK/lfa0 大したことはしてませんw 前半のスクリプトで最終行以外のb=の行を削除し、 後半のスクリプトで置き換えをしてます : デフォルトの名無しさん (ワッチョイ bfd5-KnhR) [sage] 2018/10/16(火) 07:39:45.98:7taE2kBh0 つかさ、丸投げに答えてやる必要も無いだろ。 ただの一行もコード書いてないだろこいつ。 : デフォルトの名無しさん (ワッチョイ 6735-4Hut) [sage] 2018/10/16(火) 07:59:23.00:ips5MdhR0 622じゃだめなんか? cat <file> | awk -F= '{if($1=="b") b=$2; else print;} END{printf("b=%d\n", xor(b, 1))}' | sort : デフォルトの名無しさん (アウアウカー Sa7b-GU/K) [] 2018/10/16(火) 09:23:21.39:HrwRMilta いーんじゃない? : デフォルトの名無しさん (ワッチョイ df7c-4Hut) [sage] 2018/10/16(火) 10:41:54.09:kKW6G61E0 確かにそんな感じしてきてるな : デフォルトの名無しさん (アウアウカー Sa7b-GU/K) [] 2018/10/16(火) 13:03:31.45:0QUQFWONa てか、Cのスレで質問者もCでどうやるか聞いてるのに誰もCで答えてないw ま、Cで書く気が失せる問題ではあるが。 : デフォルトの名無しさん (ワイモマー MMff-ytAd) [sage] 2018/10/16(火) 13:28:42.21:iuFXWAmsM 頭の体操にはなったろ スレを活性化するためには呼び水って必要なんだと実感 : デフォルトの名無しさん (ワッチョイ 078a-oHS3) [sage] 2018/10/16(火) 13:38:03.74:dIjk/xku0 C言語でやるとしたら b=で始まる行以外は適当な一時ファイルに出力し b=で始まる行だけはメモリー上に格納しておく b=行が出現する度に、あたらしい行データでメモリー上を更新する EOFまで処理したら、一時ファイルとメモリー上のデータをマージする その際にb=の値を所定の値に置換する 順番は後にソートする前提なので適当で構わない ソートは外部コマンドでやらせて良いだろうね : デフォルトの名無しさん (ワッチョイ c708-4Hut) [sage] 2018/10/16(火) 17:27:49.92:5Df0UEAr0 591がCで答えてるだろ ちょっと小馬鹿にしたような内容だが 小出し小出しで来る質問者には適切だったと だんだん思えてきてる : デフォルトの名無しさん (アウアウカー Sa7b-GU/K) [] 2018/10/16(火) 17:35:52.31:HrwRMilta おお。上の方過ぎて気づかなかった。 : デフォルトの名無しさん (ワイモマー MMff-ytAd) [sage] 2018/10/16(火) 21:08:20.36:iuFXWAmsM お前らがほどよく食いつきそうな質問考えるのも大変なんだぞ : デフォルトの名無しさん (ワッチョイ 674f-gma9) [sage] 2018/10/16(火) 21:46:58.32:Fb63Sgww0 死ね : デフォルトの名無しさん (ワッチョイ 7f81-VhFj) [sage] 2018/10/16(火) 22:04:41.56:gETK/lfa0 流石に591はネタとしか思えない というか、酷すぎだろう : デフォルトの名無しさん (ワッチョイ e764-66c6) [sage] 2018/10/16(火) 23:06:58.82: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()関数の中に直に処理を書かないとか色々。 : デフォルトの名無しさん (ワッチョイ bf9f-pYQO) [] 2018/10/16(火) 23:31:05.44:ZKPc2SIw0 なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? : デフォルトの名無しさん (ワッチョイ bf9f-pYQO) [] 2018/10/16(火) 23:35:18.29:ZKPc2SIw0 あれ?それ、コンパイルすると警告出ないか?main()が何も返してないって。 いや、exit()を理解してくれるコンパイラなら何も出ないかも知れないけどね。 : デフォルトの名無しさん (ワッチョイ e764-66c6) [sage] 2018/10/16(火) 23:48:35.20:HI3tJEA90 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のコンパイラでもちゃんと処理できるのでいいんじゃないかなぁ。 : デフォルトの名無しさん (ワッチョイ bf9f-pYQO) [] 2018/10/17(水) 01:16:05.15:GVzdQn3+0 そうだったか。 : デフォルトの名無しさん (ワッチョイ 27b3-LG9r) [sage] 2018/10/17(水) 01:41:12.15:aiP21AAI0 main に限り 戻り型int としながらも return で値を明示的に返さない場合 暗に return 0; とするってなかった? (653 で exit() 無しでもセーフ) : デフォルトの名無しさん (ワッチョイ c7e3-Zu1O) [sage] 2018/10/17(水) 01:48:50.18:aAn3UH6A0 c99から(とc++も)main()は特別扱いで省略時はreturn 0;と扱われる とググったらでてきた なんでmain()だけ?どうせなら関数全てそうしちゃえばいいのに、と思わなくもない : デフォルトの名無しさん (ワッチョイ bf9f-pYQO) [] 2018/10/17(水) 02:29:49.55:GVzdQn3+0 なんと。そうだったのか。 : デフォルトの名無しさん (ワイモマー MMff-ytAd) [sage] 2018/10/17(水) 03:22:55.94:FoS95tj1M 「書かないこと」が一命令と等価ってどうよ? : デフォルトの名無しさん (ワッチョイ 4723-KSPj) [sage] 2018/10/17(水) 03:32:50.43:4awkQadJ0 不定の戻り値なんて殆ど使いもんにならんから 戻り値がスカラー型ならコストも低いし 0 返してる扱いでいい気がする : デフォルトの名無しさん (ワッチョイ c708-4Hut) [sage] 2018/10/17(水) 04:22:55.42:Nvagglal0 -std=c99いらねって デフォだぞ今のgccは : デフォルトの名無しさん (ドコグロ MMff-EA7j) [sage] 2018/10/17(水) 06:39:43.66:p0V48QfGM そんな余計な機能は要らんわ : デフォルトの名無しさん (ドコグロ MMff-EA7j) [sage] 2018/10/17(水) 06:40:15.60:p0V48QfGM お前は何を言ってるんだよ w : デフォルトの名無しさん (ワッチョイ c708-4Hut) [sage] 2018/10/17(水) 07:36:54.39:Nvagglal0 ニホンゴワカリマスカ? : デフォルトの名無しさん (ワッチョイ 6735-4Hut) [sage] 2018/10/17(水) 08:11:38.95:zWYuH5Te0 確かSolaris+sunのコンパイラではreturn 0 もexit(0)も書かんかったら$?は不定だったような記憶がある : デフォルトの名無しさん (ドコグロ MMff-EA7j) [sage] 2018/10/17(水) 08:13:06.68:p0V48QfGM iccワカリマスカ? : デフォルトの名無しさん (ワッチョイ c708-4Hut) [sage] 2018/10/17(水) 09:26:43.05:Nvagglal0 だから何? : デフォルトの名無しさん (ブーイモ MM0b-SHtH) [sage] 2018/10/17(水) 09:31:50.81:OPyv/DAJM 日本語わかってないのはお前じゃん : デフォルトの名無しさん (ワッチョイ c708-4Hut) [sage] 2018/10/17(水) 09:49:25.33:Nvagglal0 頭が馬鹿なお前に言われたかねえぜ : デフォルトの名無しさん (ドコグロ MMff-EA7j) [sage] 2018/10/17(水) 10:05:24.48:p0V48QfGM で、誰が gcc で -std=c99 を指定してるって? 恥の上塗りすぎる w : デフォルトの名無しさん (ワッチョイ c708-4Hut) [sage] 2018/10/17(水) 10:27:25.05:Nvagglal0 : デフォルトの名無しさん (ドコグロ MMff-EA7j) [sage] 2018/10/17(水) 11:19:59.47:p0V48QfGM : デフォルトの名無しさん (ラクッペ MM5b-/wJ2) [sage] 2018/10/17(水) 12:45:18.81:5mPHIqhKM マ板で見つけたんですけど、何がやばいんですか? 355 仕様書無しさん sage 2018/10/17(水) 10:31:44.15 ttp://https://qiita.com/hamichamp/items/7b7a7ee091a6856ac900 こんな奴でもフリーランスになれるんやな : デフォルトの名無しさん (アウアウカー Sa7b-GU/K) [] 2018/10/17(水) 12:57:28.62:8efdFbKLa え?そこに書いてある通りでは? : デフォルトの名無しさん (ラクッペ MM5b-/wJ2) [sage] 2018/10/17(水) 13:16:02.45:5mPHIqhKM すみません勘違いしてました このブログの投稿者がフリーランスでこの記事の人のことではないんですね : デフォルトの名無しさん (ワッチョイ c708-4Hut) [sage] 2018/10/17(水) 13:33:54.04:Nvagglal0 確かに、俺が何を言ったのか、おまえ解ってないな だから聞いたのか 672で自らの理解力を露呈して自爆しやがってw : デフォルトの名無しさん (ワッチョイ e764-66c6) [sage] 2018/10/17(水) 13:47:12.06:MkHFWGSb0 だれかこれに触れてほしい(自己主張) C99というかモダンCプログラミングの初歩として (手前味噌だが)かなりいい感じだと思うんだけどどうかな。 とりあえず今までのhello worldプログラムは ・return文、しかも0固定をmain()関数に書いてしまっている ・main()関数に直に処理を書いてしまっている。 などの理由であまり実際に即していないと思うのよね。 : デフォルトの名無しさん (ワッチョイ 4723-KSPj) [sage] 2018/10/17(水) 13:58:30.03:4awkQadJ0 人は互いに理解し合えるという幻想に対する反例として読んでます : デフォルトの名無しさん (アウアウカー Sa7b-GU/K) [] 2018/10/17(水) 13:59:47.69:8efdFbKLa 別にmain()に処理書いてもいいと思うがな。パッと見てわかるぐらいの小ささなら。 まあしかしこれは各個人の信仰の問題であって言語そのものの制限ではない。 そこまでなんとかしたいならそういう言語を作るしかない。 布教活動すれば信者は増えるだろうが相変わらず教義に反する異端者はこの世に存在し続ける。 : デフォルトの名無しさん (オイコラミネオ MMfb-KnhR) [sage] 2018/10/17(水) 14:08:29.78:yNGPPWpxM hello world に求められることは、できるだけ少ない手数でイメージ通りの結果が得られることだと思うんだ。宗教の前に。 に込められた思想が分かるようになるのはずっと後。 まあ、ある程度分かるようになってからのお題としてここで議論するのは面白いかもね。 : デフォルトの名無しさん (アークセー Sx9b-wEhW) [sage] 2018/10/17(水) 14:25:03.69:JU3vAU4Ix mainの中にputsの代わりに別関数呼ぶと言うのはビジネスロジックをmainから極力排除するという意図があると推測するけど、最初の一歩としては複雑すぎる。 いきなり最初から関数、inline、static、exitの仕様を理解する必要があるので。 : デフォルトの名無しさん (ワッチョイ c708-4Hut) [sage] 2018/10/17(水) 15:12:32.44:Nvagglal0 スタイルの問題じゃねえ sizeof(32)とか書いてるアホが指導員やってることが問題なのであって : デフォルトの名無しさん (アウアウカー Sa7b-GU/K) [] 2018/10/17(水) 15:16:21.42:mC+TJhpha voidといいsizeofといい、今年は豊作だなw : デフォルトの名無しさん (ワッチョイ 4708-I59m) [] 2018/10/17(水) 15:38:23.06:6YtQ5uRO0 b=の書換質問は釣りだったんだな : デフォルトの名無しさん (ワッチョイ df9f-5hEM) [] 2018/10/17(水) 16:16:17.24:O9lRBr4Z0 voidくん見てる〜? sizeof(32)くんて友達出来てよかったねw : デフォルトの名無しさん (アウアウエー Sa9f-M9VF) [sage] 2018/10/17(水) 16:32:00.39:TQLylYbFa ブルーボトル日本開店おめでとう。 西海岸で飲む、いつもの味。僕にとって新鮮みがないことが、成功の証だと思う。 : デフォルトの名無しさん (ドコグロ MMff-EA7j) [sage] 2018/10/17(水) 18:16:44.83:p0V48QfGM で、ごたくはいいからの回答書いてみろよ まあ書けずに逃げ回るんだろけどな w : デフォルトの名無しさん (ワッチョイ 674f-gma9) [sage] 2018/10/17(水) 18:18:55.24:jwV5Qww90 ゴミだね お前ら初心者はもう少しわきまえた方がいい。 初心者が思いつきで出来る領域はCにはもう残されていない。そういうのがやりたいのならGoやRustに行け。 C99からもう20年近く経つ。 その間、誰もそういうことをやらなかった(或いは、やっても流行らなかった)のは、その必要がないからだ。 今のお前のように、無視されて終わったからだ。 それが何故ゴミなのか理解出来ないうちは、もっとコードを書くことだ。 : デフォルトの名無しさん (アウアウカー Sa7b-GU/K) [] 2018/10/17(水) 18:31:08.37:bYFTmDwea 半角にするの忘れてるぞ : デフォルトの名無しさん (ワッチョイ 674f-gma9) [sage] 2018/10/17(水) 18:50:31.41:jwV5Qww90 俺は半角君ではないし、あおり抜きでゴミだって事だよ。 マジでそういうことを世界中の誰も20年間しなかった理由を考えてみろ。 この期に及んでお前らみたいな糞初心者がCに溢れている意味が分からんが、 お前らはどうやらどの言語でも良くて、単に流れているスレに溜まっているだけだろ。 だから無理にでも流れないと不安になるから無駄釣りしているわけでさ。 そういうのも迷惑だから止めろ。 : デフォルトの名無しさん (ワッチョイ dfeb-AFTh) [sage] 2018/10/17(水) 19:22:06.89:EXKxlQhR0 マジックNGワード「お前ら」 ※2(5)chの全板共通 釣りレス or 気が触れた方のレス or 玄人ぶった素人のレスなど。 ウザいレスを回避する際に使用します。 参考: 【レス抽出】 対象スレ:C言語なら俺に聞け 148 キーワード:お前ら 抽出レス数:18 : デフォルトの名無しさん (ワッチョイ 674f-gma9) [sage] 2018/10/17(水) 19:59:27.76:jwV5Qww90 お前らが駄目なところはそういう所なんだけどな。 最近パヨクが急速に腐ったのも同じ理由だ。 最近は693みたいに、「俺の希望する意見じゃなきゃイヤ」な奴が多すぎる。 ネットってのはリアル以上にいろんな人がいて、様々な意見を聞ける。 その中で、どんな偏った意見も、探せば出てくる。 フィルタ(ブロック)しまくれば都合がいい意見しか見えない状況が簡単に作れる。 これは昔で言う、イエスマンで周囲を固めた状態だ。一番やってはいけないと言われていたことだ。 そしてそれをやりまくったのがパヨクで、今は世間とずれまくってるだろ。 今の状況で俺をブロックするのなら、お前らはパヨク以下に落ちる。 勿論、俺が言っていることが間違いだらけで、読む価値無しと判断するなら、フィルタするのは自由だ。 しかし実際の所、を肯定的に評価している奴なんて誰もいないだろ。俺が一番はっきり言っただけであってさ。 この状況で俺をフィルタするってのは、お前はパヨク予備軍だって事だよ。 世界中を探してを褒めてくれる奴を見つけだし、そこに移住すれば、君らは幸せになれるだろう。 俺も君らが居なくなって清々するし、有り難いから、そうしてくれれば助かるのだが。 そもそも、この程度でNGが必要な奴はここ(2ch)に来るべきではないし。 まあ、には俺が見えてないはずだから、この話はここで終わりだが。 : デフォルトの名無しさん (ワッチョイ df9f-5hEM) [] 2018/10/17(水) 20:06:48.77:O9lRBr4Z0 などと意味不明の供述をしており : デフォルトの名無しさん (ワッチョイ 674f-gma9) [sage] 2018/10/17(水) 20:12:27.30:jwV5Qww90 もゴミだけどな : デフォルトの名無しさん (ブーイモ MM0b-LEUL) [sage] 2018/10/17(水) 20:27:13.80:oiR6YjXfM 早く自分の巣に帰りなよ ttp://mevius.5ch.net/test/read.cgi/tech/1533459756/ : デフォルトの名無しさん (ワイモマー MMff-ytAd) [sage] 2018/10/17(水) 20:44:17.20:NzFClE36M お題は「モダンなCでHello World」です ファイッ! : デフォルトの名無しさん (ワッチョイ e764-66c6) [sage] 2018/10/17(水) 20:50:17.71:MkHFWGSb0 弁明しておくと、俺の は釣りじゃなくて、まったくの興味というか こういうプログラムのほうがいいんじゃないかという提案だった。 結果的に荒れ気味になってしまったのはすまん。 (個人的には旧hello worldよりも洗練されていると思うんだけどなぁ……) : デフォルトの名無しさん (ワイモマー MMff-ytAd) [sage] 2018/10/17(水) 20:56:16.85:NzFClE36M 好きか嫌いかよりコードで語れよ!! : デフォルトの名無しさん (ワッチョイ 674f-gma9) [sage] 2018/10/17(水) 20:58:45.43:jwV5Qww90 お前も何故か必死なんだな。 同一人物でないのなら、単にやを褒めてやればいいだけだろ。 そこで「気に入らない意見」(に反論)ではなく、 気に入らない意見を言った「俺」にフォーカスしてくる辺りがパヨク予備軍なんだよ。 実際の所、ネット上には間違ったことを言う奴も多い。それが俺だというのならさておき、 誰もを褒めてないし、20年間世界中でそんな馬鹿なことをした奴が居ないのも事実なんだから、 そのことをふまえて普通に考えれば、がゴミなのは事実だし、自明だろ。 ゆとりはスクラムを組んで連呼し、黒を白だと主張する事がよくあるが、それは明白な間違いだよ。 てゆうか、一体お前らは何がしたいん? ゴミをゴミだと言われない匿名掲示板なんて、逆に存在価値がないだろ。 腐されたくないだけなら、FaceBookでやるべきだ。 後ろ指さされることはあっても、堂々とゴミだと言われることはあまり無いはず。 それがお前らの望みなんだろ? (今回のもそう。ここでボロカスに言われることはあっても、直接言われることがないからあのままなのであって) : デフォルトの名無しさん (アウアウカー Sa7b-GU/K) [] 2018/10/17(水) 20:59:31.12:OPzCf6X6a 洗練されているとは思うが学び始めたばかりの初心者に最初に見せるサンプルプログラムとしてはやはり複雑なのではないかと思う。 : デフォルトの名無しさん (アウアウカー Sa7b-GU/K) [] 2018/10/17(水) 21:07:03.53:OPzCf6X6a お前はゴミだ。 : デフォルトの名無しさん (ワッチョイ 674f-gma9) [sage] 2018/10/17(水) 21:44:14.14:jwV5Qww90 褒める気があるのならもっとはっきりと褒めろよ。 そういうところがお前らの駄目なところだ、と言っているわけだが。 まあ所詮それがゆとりの限界だよな、とは思う。 否定されたことがないから否定されることに過敏なのか?最近この手の輩はよく見かけるが。 しかし、俺をゴミ呼ばわりするお前ですら程度しか言えないのなら、 逆に俺の意見「やはゴミ」を補強しているではないか。 俺をゴミ呼ばわりするのなら、もっとベタ褒めしないと筋が通らないだろ。 そのことにすら気づけないのか? : デフォルトの名無しさん (ワッチョイ 674f-gma9) [sage] 2018/10/17(水) 22:03:17.39:jwV5Qww90 一応マジレスしておく。 ただし技術的な答えは書かない。 これは最近、この手で煽って答えを書かせる輩が増えていると感じるから。 そういう奴らにはエサを与えず、餓死させるのが習いだ。 君のせいではないから、この点は安心していい。 > こういうプログラムのほうがいいんじゃないかという提案だった。 これはいい。 というか、こういうのを自由にやれるところがいいところであって、 逆に、遠慮して何も言えないようなら匿名掲示板の存在価値はない。 だから、思ったことはどんどん言えばいいし、 それについて文句を言いたければ言えばいいし、結果的に荒れても問題ない。 ここは、そういう場所だから。 逆に、FaceBookや実名空間で出来ることをここでやるべきではない。 実名空間で口頭でやった方が手間もかからず早いからだ。 問題は、ゴミをゴミだとはっきり言いきった俺に対して、 言い方が良くない系の言いがかりを付けてくる馬鹿が多いことだ。 匿名掲示板で全員が意見をオブラートに包んで言うようになったら存在価値なんて無くなる。 そもそも、それを求める奴がここに来るのも間違っている。 そんな奴は、少なくともコテハン制の所に行くべきなのさ。 : デフォルトの名無しさん (ワッチョイ e780-gma9) [] 2018/10/17(水) 22:07:22.33:Ny9Q/0jK0 相変わらず低学歴知恵遅れたちは 超どうでもいいことで 超どうでもいいレスをひたすら書きこんでるわ : デフォルトの名無しさん (アウアウカー Sa7b-v5lg) [] 2018/10/17(水) 22:07:25.85:MwWLHD/ka 言えてる。 CASL2の勉強で1から140までの合計を求めて、その数を文字列に変換するプログラム書いたんだけど、どうよ? ほら。Cって組込にも使われるじゃん。 printfが無い環境のために良い練習じゃん。 (実際、組込Cでprintf無いけど、キャラクタディスプレイ付ければ文字コードを送ると表示される環境と言うのがある) なぜ140かと言うと各桁が同じ数字じゃ無いので保存場所の間違いに気付きやすいから。 4桁は合計で出た数の桁数。 キャラクタディスプレイの代わりにputs縛りって事でさ。 : デフォルトの名無しさん (ワッチョイ bfd5-KnhR) [sage] 2018/10/17(水) 22:09:24.04:SO2V+VK90 長いよ コードと同じように簡潔にやろうぜ : デフォルトの名無しさん (ワイモマー MMff-ytAd) [sage] 2018/10/17(水) 23:03:46.64:NzFClE36M 半角 VS ゴミ 盛り上がってきました : デフォルトの名無しさん (アウアウウー Saeb-EuHm) [sage] 2018/10/17(水) 23:25:43.86:35FivH1Pa hello worldの目的からすれば、意味のある動作する完全なコードを最もシンプルにかつ素直に表すことが重要だと思うから、個人的には従来のhello worldの方が「洗練」されてると思う。 : デフォルトの名無しさん (ワッチョイ 7e5b-PTxd) [] 2018/10/18(木) 00:56:03.83:kg6wANGU0 でもvoid君はC言語詳しくないじゃん : デフォルトの名無しさん (ワッチョイ ea12-tM5n) [sage] 2018/10/18(木) 01:24:29.78:YedLW6kI0 見立てによるとJava厨だからな voidは知ってるが引数voidは知らない、 となればJavaスレで相手にされなくなってCスレにマウンティングしに来たクズだ はもう伝説だろ : デフォルトの名無しさん (ワッチョイ afcc-nBLa) [sage] 2018/10/18(木) 02:05:44.91:WDPIjajG0 おまえの勝手な妄想にどう答えろって言うんだよアホ : デフォルトの名無しさん (ワッチョイ c34f-tM5n) [sage] 2018/10/18(木) 02:29:02.90:+6TFZypL0 お前らがC言語に詳しいつもりなら、それなりの見解を添えてやに対しての意見を言えばいいだけ。 誰一人として褒めてない(≒俺の意見も正しい)この状況で、 そういうゆとりスクラムでゴネて駄目なものをさも素晴らしいことにしようとするからゆとりは嫌われる。 お前らは自覚出来ていないようだけども。 いずれにしても、ゆとりスクラムなんて誰も得しないから止めとけ。 お前ら自身も学ぶ機会を失っているだけだし。 表面的な言い争いでスレが潰れることはない。 だって、本当にそう思って主張したのだから、それでいい。それで荒れるのなら、それも仕方ない。 ただ、スクラム組んでるゆとりみたいに、自由な意見を排除しようってのは、スレを毀損し、潰す。 だからそれは止めろと言っている。 お前らが望む「どんな糞コードでも褒めてもらえるスレ」は、ここ(2ch)では存在し得ない。 お前らみたいに、自分の意見を全く言わず、ただ他人を馬鹿にしたいだけの奴が居るのも、また事実だから。 ただここら辺、何度言ってもゆとりには通じないところをみると、やはりギャップがある。 俺には、ゆとりが望む「どんな糞コードでも褒めてもらえるスレ」は存在価値が無いと思える。 読んだとしても、全く上達に繋がらず、むしろ道を誤ることになるからだ。 ここら辺がマジで通じないのは何故か、分かる人がいたら、解説願いたい。 ゆとりは今の居心地の良さ、つまり、書いてある内容の正誤より、言い争いのないだけのスレを好む傾向がある。 そして、それが長期的にはスレを殺すことも認識出来ない。実際、それでスレがゴミ化するのを何度も見てきた。 これがゆとりの特性、ってことなのかね? まあとにかく、誤解無いように何度も言っておくが、 俺自身は653や679のような主張はやりたいのならやればいいと思っている。 そして中身はゴミだという見解だ。 結果的に荒れたようになっているのは679のせいではないから、萎縮する必要はない。 が、誰も褒めないコードを素晴らしいと思えちゃうのは、679に技術的な問題があるんだよ。それは自覚した方がいい。 : デフォルトの名無しさん (ワッチョイ f364-qPjg) [sage] 2018/10/18(木) 03:00:15.26:SqeIqpTY0 指摘あざす。荒れ気味になっちゃったのは残念だけど、俺のコードに関して(賛否関係なく)F/Bを貰えたのは嬉しい。 差し支えなければどの辺りがゴミなのか教えてもらえないかな。今後に生かしたい。 というよりも、既存のhello worldプログラム——つまり #include <stdio.h> int main(void) { printf("Hello, C!\n"); return 0; } で、(C言語の関数としてはあまりに多機能で異質な)printfを使っていたり 組込み機器向けのプログラムでもないのにmain()関数をreturnで終了していたり main()関数のなかに直に処理を書いてしまっている点は、問題ないと考えているってことだよね。 これらはこのプログラムを書く初心者にとっては不要な心配だということかな。 : デフォルトの名無しさん (ワッチョイ ff23-yU1x) [sage] 2018/10/18(木) 03:05:01.38:acZxv8zY0 ほんと人間は分かり合えないという実例だな その2つの指摘のどちらも誰にも共感されないだろう 世界は広いから「誰にも」は言い過ぎかもしれないけどさ : デフォルトの名無しさん (ワッチョイ afcc-nBLa) [sage] 2018/10/18(木) 03:17:25.13:WDPIjajG0 組み込み機器ではmain()関数をreturnで終了せよと? : デフォルトの名無しさん (ワッチョイ 269f-nBLa) [] 2018/10/18(木) 03:42:00.06:CSkK3ONp0 やへの意見以外の事を長文で沢山書いてるのは君だ。 もっと自分のやっていることを自分で見た方が良い。 : デフォルトの名無しさん (ワッチョイ 6ab3-hO2L) [sage] 2018/10/18(木) 04:54:24.19:iSVWVd6E0 勝手な妄想? > c99はGNU/Linuxだとgcc -std=c99を実行してる。 > icc -std=c99 -O2 -Wall -Werror -Wextra hello.c -o hello > でも成功。 に対して > -std=c99いらねって > デフォだぞ今のgccは って書いたアホがいたって話なんだが w : デフォルトの名無しさん (ワッチョイ 379c-nBLa) [sage] 2018/10/18(木) 06:21:20.70:M8AMqVol0 だから書いたが それがどうしたんだよ おまえiccがどうたらぬかしてたろ ちゃんとそこをからめて説明してみな : デフォルトの名無しさん (ワイモマー MM8a-e2v7) [sage] 2018/10/18(木) 06:34:59.00:k5RfC1S9M 半角はまだコード書き込んだりする分よりマシだな : デフォルトの名無しさん (バッミングク MMab-PhZZ) [sage] 2018/10/18(木) 06:45:51.12:LRx1sLItM どちらがより初学者向けかの比較の問題だと思う。 既存のhello worldが今の時代に則して最適とは思わないけど、それにも増して貴方のhello worldがいきなり覚える要素が多すぎて適切じゃない。 ちなみに組み込みを何か勘違いしてるっぽいけど、普通はmainからreturnさえしない。 : デフォルトの名無しさん (ドコグロ MM3b-hO2L) [sage] 2018/10/18(木) 06:47:39.20:zbm0s+GWM -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 : デフォルトの名無しさん (ワッチョイ f364-qPjg) [sage] 2018/10/18(木) 07:09:12.87:SqeIqpTY0 > 普通はmainからreturnさえしない マジかw これは恥かしい勘違いだわ。 普段まったく組込み関係に触れてないのがバレてしまった。 : デフォルトの名無しさん (ワッチョイ 8b8a-Aaj1) [sage] 2018/10/18(木) 07:46:50.50:OVQJgcG30 OSが存在しない組込み系ではあり得ないこともない 通常は電源投入後スタートアップルーチンからmain関数を呼び出して電源遮断するまで永久ループ 万一、電磁パルスや放射線等でマイコンが動作しプログラムカウンタの値が狂ってループ外に脱出した場合は強制リセットで再起動 void main(void) { while(1) { ... // メインループ: 永久ループで脱出不可 } _asm("JP VECT_RESET"); // 異常発生により強制リセット: スタートアップルーチンへ強制ジャンプ } : デフォルトの名無しさん (ワッチョイ 7b23-1+BR) [sage] 2018/10/18(木) 07:52:06.39:VFmelRyo0 確か今のコンパイラ(icc,gcc,clang)ってデフォルトで-std=gnu99か-std=gnu11じゃなかったっけ : デフォルトの名無しさん (ワッチョイ 8b8a-Aaj1) [sage] 2018/10/18(木) 07:52:47.02:OVQJgcG30 訂正 マイコンが動作 マイコンが誤動作 : デフォルトの名無しさん (ワッチョイ f364-qPjg) [sage] 2018/10/18(木) 08:00:46.41:SqeIqpTY0 そうかもしれないが gnu99とc99はちょっと動作違うじゃん? と言ってもトリグラフの警告の有無とかその程度だけど。 c99コマンドは-std=c99だけどiccコマンドは-std=c99を明示すべきと判断した。 : デフォルトの名無しさん (ワッチョイ 269f-eYdq) [] 2018/10/18(木) 08:38:10.70:CSkK3ONp0 その辺はどう作るかによるだろう。 : デフォルトの名無しさん (アウアウエー Sae2-HClE) [sage] 2018/10/18(木) 08:57:20.34:q7k7CaDsa voidに加えてreturnが加わった? : デフォルトの名無しさん (バッミングク MMab-PhZZ) [sage] 2018/10/18(木) 09:11:12.73:LRx1sLItM プロセスベース以外の組み込みソフトでmainからreturnするコードを見たことないんだけど、もし差し支えなければ後学のためにどんな作り方があるのか教えてください。 : デフォルトの名無しさん (アウアウカー Safb-nHS7) [] 2018/10/18(木) 09:11:29.09:xtVP5nmJa 本当に今年は豊作だ : デフォルトの名無しさん (アウアウカー Safb-nHS7) [] 2018/10/18(木) 09:13:27.72:xtVP5nmJa そんなもんmain呼ぶcrtの方で無限ループするように作っとけばできるじゃん。 : デフォルトの名無しさん (アウアウカー Safb-dUTK) [] 2018/10/18(木) 09:19:15.80:qf9NxgCDa に誰も挑戦しねーし。。。 千の位は1000で割れば数が出るし、余りが千の位を引いた数だから、今度は百の位、十の位ってする。 各位の数字に16進数の30(文字コードで数字の0)を足すと文字列の完成。 (Cだと末尾に¥0も必要。“0000”とか文字配列作れば自動で挿入される) 大まかなロジック教えれば書けるだろ。 分かってみれば大した事してないんだよ。 : デフォルトの名無しさん (バッミングク MMab-PhZZ) [sage] 2018/10/18(木) 09:20:39.69:LRx1sLItM 「そういう作りもできる」ってのは分かります。 mainの外部に無限ループのあるソースは見たことないので普通はそんな事しないと思ってました。 : デフォルトの名無しさん (アウアウエー Sae2-HClE) [sage] 2018/10/18(木) 09:20:47.49:q7k7CaDsa 経験的には、exitしちゃだめというシステムはあったけど、returnしちゃだめというのはなかったなあ。 returnに到達しないプログラムはもちろんあるけど。 : デフォルトの名無しさん (バッミングク MMab-PhZZ) [sage] 2018/10/18(木) 09:22:20.30:LRx1sLItM 補足です。 mainからreturnした後に無限ループってのは普通に見ます。 あくまでmain自体を無限ループで囲んでいるのは見たことなかったです。 : デフォルトの名無しさん (ワッチョイ ea6e-nBLa) [sage] 2018/10/18(木) 09:43:07.26:jV/G7rqZ0 つまり精神科に行くのはおまえってことだな 語るに落ちたなw : デフォルトの名無しさん (ワッチョイ 2e23-nBLa) [sage] 2018/10/18(木) 11:44:54.60:9LQIedmj0 一周まわって、何かあったらどんどんexitするようにしたよ メモリリークしてるかも? ⇒ 一応プロセス再起動 処理が滞ってきたかも? ⇒ 一応プロセス再起動 便利なOSを使うようになってからどんどん怠ける一方よ : デフォルトの名無しさん (アウアウエー Sae2-HClE) [sage] 2018/10/18(木) 12:46:19.16:q7k7CaDsa めっちゃプロセス起動速いOSあってもいいよねと思ったけど、結局LWPのスレッドになるんだろうな : デフォルトの名無しさん (ラクッペ MMc3-2+nH) [sage] 2018/10/18(木) 12:58:15.88:rzx784yQM メモリリークとか、そこら辺勉強するのにおすすめの方法ある : デフォルトの名無しさん (アウアウカー Safb-Tmzw) [sage] 2018/10/18(木) 13:59:29.92:4lyuEWGMa たんにfreeとかdeleteすればいいだけだからなあ。 オブジェクト指向・デザインパターン一般の教科書読めば自然に身につきそう : デフォルトの名無しさん (ワッチョイ be81-xJah) [sage] 2018/10/18(木) 14:06:31.65:tgytymo80 メモリーリークの勉強は本で学ぶよりも 痛い思いをして体で覚える方が身につく 個人の感想ですけどw : デフォルトの名無しさん (アウアウカー Safb-nHS7) [] 2018/10/18(木) 14:51:32.83:G4vijIF0a C言語は言語レベルではオブジェクト指向はサポートされていない : デフォルトの名無しさん (アウアウカー Safb-nHS7) [] 2018/10/18(木) 14:54:22.85:G4vijIF0a しかし身に付いても中々メモリリークのバグはなくならないよな。 やはりその辺が心配なら他の言語使った方が良いと思う。 : デフォルトの名無しさん (アウアウエー Sae2-Tmzw) [sage] 2018/10/18(木) 14:58:25.72:daUW8tpUa クソコードに揉まれてクソコード書きになった人も多いから、クソを体験しろとも言えんな… 長い時間かけてデバッグして身についたもんは確かにあるけど、人生は貴重だからな。 : デフォルトの名無しさん (ワッチョイ ea6e-nBLa) [sage] 2018/10/18(木) 14:58:42.11:jV/G7rqZ0 ロジックが組めないやつ多いな : デフォルトの名無しさん (アウアウカー Safb-LYDX) [sage] 2018/10/18(木) 15:18:22.83:ca3mAHpxa インスタンスのライフタイムさえ設計すればメモリリークなんぞ発生しないと思ってるわ : デフォルトの名無しさん (アウアウカー Safb-nHS7) [] 2018/10/18(木) 16:28:17.06:hfM3a7YWa 誰もがそう思うのだよ。 しかしこの世は思い通りにはならんのだ。 : デフォルトの名無しさん (ワッチョイ ea6e-nBLa) [sage] 2018/10/18(木) 17:01:30.59:jV/G7rqZ0 言い訳見苦しい : デフォルトの名無しさん (ワッチョイ be81-xJah) [sage] 2018/10/18(木) 17:03:30.38:tgytymo80 プログラムは思った通りには動かない、書いたとおりに動く : デフォルトの名無しさん (アウアウカー Safb-LYDX) [sage] 2018/10/18(木) 18:23:41.17:hi9P8c2Aa 俺はC使い始めて3年のペーペーだけど、リークなんてやらかしたことないし、今後もやらかすと思えない 敗北を知りたい : デフォルトの名無しさん (ワッチョイ be81-xJah) [sage] 2018/10/18(木) 18:30:40.98:tgytymo80 多分仕事させてもらってないだけだろう : デフォルトの名無しさん (JP 0H1b-87xj) [sage] 2018/10/18(木) 18:31:07.24:e4/wObWIH 「malloc()使ったら負け」 strdup()「……」 : デフォルトの名無しさん (アウアウウー Sa9f-nBLa) [sage] 2018/10/18(木) 18:46:49.06:aXnVPh22a 初心者は初心者であるが故にそれに気が付かない : デフォルトの名無しさん (アウアウウー Sa9f-Tmzw) [sage] 2018/10/18(木) 19:06:12.18:qjnLT1/0a freeしなくて済むならそれにこしたことないわ : デフォルトの名無しさん (ワッチョイ 7bea-UhuV) [sage] 2018/10/18(木) 19:11:03.75:Lxt1YLpM0 リスト構造でありそうな、作った所と殺すところが入れ子になり難いのは気をつかう : デフォルトの名無しさん (ラクッペ MMc3-2+nH) [sage] 2018/10/18(木) 19:20:20.66:rzx784yQM C++erだけどmallocなんてもうしたくない まあ、勉強するときにしてるけど : デフォルトの名無しさん (ワッチョイ 7bea-UhuV) [sage] 2018/10/18(木) 19:23:14.70:Lxt1YLpM0 あと開放された後なのに、そのポインタのデリファレンスしてたり 別スレッドで確保した時、そこに割り当て発生〜別スレッド側の正当な書き込み → 不当な側のデリファレンスでブッコワレーターな値 とか : デフォルトの名無しさん (アウアウカー Safb-nHS7) [] 2018/10/18(木) 19:26:42.15:9i8IzX+1a C++だと工夫すればかなり自動化できるんじゃないか? Cと同じようにも書けるからハマる時はハマるだろうけど。 : デフォルトの名無しさん (アウアウウー Sa9f-Tmzw) [sage] 2018/10/18(木) 19:40:59.71:qjnLT1/0a 入れ子って意味間違ってない? : デフォルトの名無しさん (アウアウカー Safb-dUTK) [] 2018/10/18(木) 19:46:10.54:qf9NxgCDa 734 デフォルトの名無しさん (アウアウカー Safb-dUTK)[] 2018/10/18(木) 09:19:15.80 ID:qf9NxgCDa に誰も挑戦しねーし。。。 千の位は1000で割れば数が出るし、余りが千の位を引いた数だから、今度は百の位、十の位ってする。 各位の数字に16進数の30(文字コードで数字の0)を足すと文字列の完成。 (Cだと末尾に¥0も必要。“0000”とか文字配列作れば自動で挿入される) 大まかなロジック教えれば書けるだろ。 分かってみれば大した事してないんだよ。 : デフォルトの名無しさん (アウアウカー Safb-dUTK) [] 2018/10/18(木) 19:47:20.69: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 : デフォルトの名無しさん (アウアウカー Safb-LYDX) [sage] 2018/10/18(木) 19:47:28.28:ca3mAHpxa >>754 何をしたらリークするのか逆に聞きたい 仕様を読んでないアホな顛末は要らんです : デフォルトの名無しさん (アウアウカー Safb-dUTK) [] 2018/10/18(木) 19:47:29.90: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 : ◆QZaw55cn4c (ワッチョイ 8a60-oeap) [sage] 2018/10/18(木) 19:48:27.83:ErYslHJw0 それは甘いと思います 気がついていないだけだと思います : デフォルトの名無しさん (アウアウカー Safb-dUTK) [] 2018/10/18(木) 19:49:54.55:qf9NxgCDa まあ、CASL2のコード載せたからって書くやつが現れるなんて思ってないが。。。 本っ当にお前ら終わってるな。 プログラマーになり損なった俺より、なお悪いわ。 : デフォルトの名無しさん (アウアウカー Safb-LYDX) [sage] 2018/10/18(木) 19:56:27.89:ca3mAHpxa : デフォルトの名無しさん (アウアウカー Safb-nHS7) [] 2018/10/18(木) 20:01:35.14:9i8IzX+1a malloc()等でメモリ確保してfree()しなければメモリリークになる。 その他strdup()のように内部でmalloc()を使っているやつは同様。 : デフォルトの名無しさん (アウアウカー Safb-LYDX) [sage] 2018/10/18(木) 20:03:41.77:ca3mAHpxa > 仕様を読んでないアホな顛末は要らんです : デフォルトの名無しさん (アウアウカー Safb-nHS7) [] 2018/10/18(木) 20:12:08.73:9i8IzX+1a 何をするとリークするかを書いただけだが? : デフォルトの名無しさん (アウアウカー Safb-LYDX) [sage] 2018/10/18(木) 20:37:01.47:ca3mAHpxa だからそんなアホなレスは要らんです、と書いたんだが? : デフォルトの名無しさん (ドコグロ MM3b-hO2L) [sage] 2018/10/18(木) 20:41:42.24:zbm0s+GWM はいはい 精神科医ってこう言う輩の相手するんだよな... 大変なお仕事だわ w : デフォルトの名無しさん (ワッチョイ be81-xJah) [sage] 2018/10/18(木) 20:44:20.85:tgytymo80 「私の書いたプログラムは絶対にメモリーリークは発生しません。バグもありません。試験は不要です」 こういうこと、一度は言ってみたい : デフォルトの名無しさん (ブーイモ MM17-SAcu) [sage] 2018/10/18(木) 20:58:01.13:KO6AKpPQM たったこれだけでリークするコードを仕込んだことになる。 もちろん仕様書通りの動作だけど、ノウハウ集を見るまえに気づくのはわりと難しいかもね。 p = realloc(p, 1 * sizeof(int)); : デフォルトの名無しさん (ワッチョイ 269f-eYdq) [] 2018/10/18(木) 21:06:20.49:CSkK3ONp0 しかし君はアホだから丁度マッチした適切なレスではないかな。 : デフォルトの名無しさん (ワッチョイ 66d5-7cZp) [sage] 2018/10/18(木) 21:07:35.06:cOwpgSZ30 そういった意味で realloc は若干まどろっこしいね。 失敗時は元と同じポインタを返して errno を設定してくれる方が変数のやりくりが簡単になりそう。 : デフォルトの名無しさん (ワッチョイ 269f-eYdq) [] 2018/10/18(木) 21:08:03.73:CSkK3ONp0 それでリークするかどうかはその他の部分がどう書かれているかによるのでは? : デフォルトの名無しさん (アウアウウー Sa9f-Tmzw) [sage] 2018/10/18(木) 21:09:48.06:qjnLT1/0a 実際はmalloc失敗した時点でリークもへったくれもないと思うよ : デフォルトの名無しさん (ワッチョイ 269f-eYdq) [] 2018/10/18(木) 21:10:01.05:CSkK3ONp0 ああ。失敗した時か。確かにリークするな。 そういう時はもう処理続行不能って事にしてexit()させてる。 : ◆QZaw55cn4c (ワッチョイ 8a60-oeap) [sage] 2018/10/18(木) 21:11:09.99:ErYslHJw0 realloc() が 0 を返すと p の持っていた値は失われ、free() できなくなる : デフォルトの名無しさん (ワッチョイ 9761-Egl2) [sage] 2018/10/18(木) 21:13:01.26:UwKrwHEY0 ptr = malloc() p = ptr p = realloc(p, ...) : デフォルトの名無しさん (ワッチョイ 66d5-7cZp) [sage] 2018/10/18(木) 21:14:42.17:cOwpgSZ30 スレッドでの処理だとそのスレッドだけ終了させればよかったりするから、きれいに解放できないと具合が悪いな。 exit していいケースなら exit がいいと思う。 : デフォルトの名無しさん (ワッチョイ 73d2-1yD9) [sage] 2018/10/18(木) 22:01:36.74:IGzE2h5q0 内部でメモリ確保しまくるライブラリを使う仕事に当たっちまったら、思いっきり痛い目に会えると思うよ : デフォルトの名無しさん (ワッチョイ c34f-tM5n) [sage] 2018/10/18(木) 22:29:32.46:+6TFZypL0 俺は書かないと言ったろ。理由は参照。 そして俺は最初に解法も示してる。参照。 つっても理解出来てないようだから、もう少し(非技術的な)解説をしよう。 現状、俺以外の他全員誰も褒めてないんだから、この際理由を『詳しくない』俺にわざわざ求める必要がないだろ。 しかし、何故か俺に意見を書かせようとする輩が多いだろ。お前も含めて。 それがアフィカスじみてて、結果的にスレを潰すから、俺はそれには乗らない、と言ってるんだよ。 見れば分かるとおり、スレの流れが異常だろ。 俺が何度もこのメタ議論を出している理由は、お前らゆとりが全くこの辺について無知だからだ。 お前らゆとりは、オンラインコミュニティは潰していいものだと思っている。 見方が本当に刹那的で、自分の質問に対しての答えが得られれば後はどうなってもいいと思っている。 (ただ乗り出来るし、勝手に発生するものだと思っている) 実際は、オンラインコミュニティだって、成熟するには時間も労力もかかる。 そこがどんなに(お前にとって)糞であれ、住めば都だから住人が居るわけで、そんなに簡単に潰していいものではないんだ。 ゆとりが老害老害と連呼しながらも2chにへばりついているのも、ちょっと考えればおかしいと気づけるだろ。 2chは古いし、年齢層は高い。これは事実で、実際、老害年齢層の存在確率は他のコミュニティよりも高い。 しかし、結局の所、ゆとり流では「既読疲れ」みたいなコミュニティしか形成出来なかったんだよ。これも事実だ。 だからお前らがここに文句を言いつつもへばりついているわけでさ。 それなのに、ゆとり流をここに持ち込もう、というのは全くの筋違いだ。それは2chを破壊するから止めろと言っている。 ゆとりには長期的な視野がない。2chに色々問題があるのも事実だけど、ゆとりに長期的視野と運営能力があれば、 今現在の20代は全員ゆとりなんだし、人数は揃っているのだから、 「ゆとりチャンネル」(通称ゆとりちゃん)が出来ても全くおかしくない状況だろ。 それが出来ないって事は、お前らゆとりにもかなり問題がある、ってことでさ。それは自覚した方がいい。 : デフォルトの名無しさん (ワッチョイ c34f-tM5n) [sage] 2018/10/18(木) 22:29:49.28:+6TFZypL0 とはいえ、2chの問題点が目に付くのは理解出来る。 ただ、それに関して「何故そうなっているのかを理解出来ないのに文句を言っている」のが、 全く使えない意識高い系新入社員と同じ事になってる事にも気づいた方がいい。 お前らは完全に空回りしているんだよ。 ハロワも同じだろ。「何故世界中の誰も20年間それを修正しなかったのか」を理解出来ない癖に、 「俺のハロワ、凄いだろ」なんて言っちゃう辺りが痛い。 ただ、それは若さの特権だから、本当にそう思うのなら主張すればいいし、 ゴミなのを誰も褒めないんだから、ここのコミュニティもまだ正常、ってわけだ。 それで、話を戻すと、ゆとり流の無知と横暴は2chを潰すから止めろ、と言っている。 とはいえ、おそらくゆとりには悪気はない。これが話が通じない根本の原因だ。 しかし、2chにはゆとりを排除するシステム自体がなく、へばりつかれたらどうしようもない。 だから俺はゆとりを教育してやろうとしているわけでさ。2chに合う奴だけが2chに来ればいいのであってね。 笑顔で人を殺しても、殺人は殺人なんだよ。ゆとりはこれを理解出来てない。 同様に、どんなに上手に敬語を使っても、スレを毀損しているようでは駄目なんだよ。 ゆとりは乗っ取り行為が酷すぎる。しかもそれを自覚出来てないのが最悪。 : デフォルトの名無しさん (ワッチョイ be81-xJah) [sage] 2018/10/18(木) 22:33:14.11:tgytymo80 お怒りは理解しますけど、長い。もっと簡潔に書こうよ : デフォルトの名無しさん (ワッチョイ c34f-tM5n) [sage] 2018/10/18(木) 22:48:32.02:+6TFZypL0 文句があるのなら、異常な流れになる前に、お前が何とかして終わらせておけ。 それも出来ず、やろうともせずに文句だけ言ってるのだから、お前も相当のゴミだぞ。 : デフォルトの名無しさん (アウアウカー Safb-LYDX) [sage] 2018/10/18(木) 22:48:48.36:4hMlWk5Ba だけを見て同じ方向を向く人たちには言われたくないなw : デフォルトの名無しさん (ワッチョイ be81-xJah) [sage] 2018/10/18(木) 22:59:17.90:tgytymo80 匿名掲示板なんて、誰が何書いても咎めようがないし そういうことで腹を立てても何も得しないと思うけど もっと大人になろうよ : デフォルトの名無しさん (ワッチョイ f380-tM5n) [] 2018/10/18(木) 23:16:58.79:THsg9J3q0 ハロワいけ ハロワ : デフォルトの名無しさん (ワッチョイ c34f-tM5n) [sage] 2018/10/18(木) 23:27:27.31:+6TFZypL0 効果はあるんだよ。だから書いてる。 正確に言えば、効果がある奴には効果がある、だが。 はっきり言えば、君の考え方もズレてるんだよ。 コミュニティは、オンラインであれオフラインであれ、存続する為には新人を受け入れるしかないんだよ。 だから、ゆとり世代以降を全員閉め出す、というのもまた間違いだし、 後10-15年後にはゆとりが社会の主力になるんだから、 それまでに駄目なところを鍛え直すのは上の世代の責任でもあるんだよ。 (君の考えに関係なく、俺達はゆとり世代に未来を託すしかない) だから俺は俺なりの方法でやってる。それで成果も多少は出てる。 お前は何もしようともしてないのに文句だけ言ってるクズだよ。 ネットだから何をやってもいい、ではないんだよ。 同様に、ネットだから何もやらなくてもいい、でもない。 ネットだから咎めようがない、でもない。 まあ君には通じないとも思うけど。 : デフォルトの名無しさん (ワッチョイ be81-xJah) [sage] 2018/10/18(木) 23:31:27.22:tgytymo80 有益なことなら読んでいるが 長い文章書かれても、大概の奴は読まないだろ 読まれれば効果が有るかもしれないが、 読み飛ばされても文句は言えない事は理解しないと : デフォルトの名無しさん (ワッチョイ c34f-tM5n) [sage] 2018/10/18(木) 23:55:16.65:+6TFZypL0 > 読み飛ばされても文句は言えない事は理解しないと 理解してるぞ。というか、当たり前だろ。お前はアホなのか? まあお前も理解出来てないのだろうが、なんだかんだでみんな読んでるんだよ。 そのうち分かるようになるよ。 それ以前に、2chの『長文』ごときで無理な奴はプログラマは無理だし。 : デフォルトの名無しさん (ワッチョイ 6a9f-zKqf) [] 2018/10/18(木) 23:56:44.20:Mibooz+L0 たまに上から目線で長文書くバカいるけど誰も読まないんだよな 何故かって冗長なだけで大した事書いてないから : デフォルトの名無しさん (アウアウウー Sa9f-Pb4j) [sage] 2018/10/19(金) 00:07:48.01:kRG86wcga 中身のある、読む価値のあるレスなら長文でもちゃんと読むが、ID:+6TFZypL0のは斜め読みしてめんどくさいだけのやつダナーと思いながら適当に読み飛ばしてる。 : デフォルトの名無しさん (ワッチョイ c34f-tM5n) [sage] 2018/10/19(金) 00:10:02.34:Av8doxl90 そういうことにしたいのはお前が馬鹿だから。 実際は、賢い奴ほど読んでる。 正確には、賢くなる過程で大量のドキュメントを読む必要があり、結果、 賢くなった奴はおしなべて読む速度が速く、読むことに関してコストがかからないからだが。 そして、俺の意図は馬鹿にはどうせ伝わらないから、俺もそれでいいんだよ。 長文ガー、なんて奴は最初から相手にしてない。 三行で、一行で、というのもまた自由だが、 現代プログラマにドキュメントの読み込み能力がかなり必要なのも事実だし、 これは今後さらに拍車がかるのも目に見えているから、 2chの長文に手こずる程度ならマジで国語からやり直した方がいいぞ。 : デフォルトの名無しさん (アウアウウー Sa9f-Pb4j) [sage] 2018/10/19(金) 00:20:52.79:e4N83vJpa 国語の能力に関係なく、攻撃的で、感情的で、実のない部分の比率が高い文章は誰にとっても読みにくいと思うぞ。 汚いコードを読みなれてそういうのを読むのが上手くなったからって、自分のアウトプットするコードは論理的かつ明瞭でキレイでありたいと思わない? : デフォルトの名無しさん (ワッチョイ c34f-tM5n) [sage] 2018/10/19(金) 00:31:51.38:Av8doxl90 何が言いたいのか分からん。 その君の文章が「論理的かつ明瞭でキレイ」だとでも思っているのか? 俺は俺なりの方法で対処してる。 読むかどうかは当然読み手側が決める。それでいいという前提で書いている。 君がもっと上手く対処出来るというのなら、君がやればいいだけ。 おかしな流れにならなければ、俺がわざわざ時間をかけて長文を投下することもない。 だから、君が見事に、アホ共を捌き、流れが正常化していれば、俺が出張ることもない。 君が俺にこの手の文を投下させたくないのなら、君が実力を見せればいいだけだ。 やってから言えよ。 : デフォルトの名無しさん (ワッチョイ 66d5-7cZp) [sage] 2018/10/19(金) 01:22:54.20:AAQqymuL0 長文連投よりはアホがアホなこと書いてる方がマシだな。 : デフォルトの名無しさん (ワッチョイ 6a9f-zKqf) [] 2018/10/19(金) 01:25:19.25:U7ZV6G1w0 5ちゃんで上から目線で長文書く奴の特徴は驚く程共通してるんだよな 例外無く論理的思考が欠如しているから要点をまとめる事も出来ないんだよ : デフォルトの名無しさん (ワッチョイ c34f-tM5n) [sage] 2018/10/19(金) 02:00:24.64:Av8doxl90 馬鹿こそそういうことにしたがるのだが、 実際、必要な文章量は、認識/知識のギャップに比例するんだよ。 実例を挙げると、,679、ゴミだね、でしかない。 賢い(知識のある)奴にはこれで十分だし、 無理な奴にはグダグダ説明が必要なだけ。 そして俺はお前らがこの件(メタ議論)については無知だと見てグダグダ説明してるだけ。 そもそもお前らが賢ければこんな事にはならないし。 ただ、そういう、「この場合にはこれ」みたいな定型的な屁理屈返しはマジでゆとりに多い。 そういうのも止めた方がいいと思うぞ。誰の為にもならない。 俺も、何度もその返しは見てきた。 それで、誰も俺みたいな返しをしてこなかったから、 お前らゆとりが調子こいて「これは使える」と勘違いしているのだろうけど、 それは単に見捨てられてるだけだぞ。理解出来てないのだろうが。 : ◆QZaw55cn4c (ワッチョイ 8a60-oeap) [sage] 2018/10/19(金) 07:03:22.13:akKjNeBd0 > >その君の文章が「論理的かつ明瞭でキレイ」だとでも思っているのか? 個人的には は読みやすいんだが、ID:Av8doxl90 は非常に読みにくい たとえば は文脈・論理の線が、不適切な日本語を使用しているせいで滅茶苦茶だ >実際は、賢い奴ほど読んでる。…@ >正確には、〜コストがかからないからだが。…A この「正確には」が、読み手を混乱させるミスリード語。 「正確には」と書く以上、すでに述べた@と同格言い直し内容の後続があるかと期待すると、裏切られて、@の理由を示すAが来る。 >そして、〜伝わらないから、俺もそれでいいんだよ。 「そして」が意味不明、何と何が「そして」で続くのかさっぱりわからない。 「そして」を使うのなら、 「俺の文が、馬鹿には読むコストのかかる文章であったとしても」→「馬鹿にはどうせ俺の意図伝わらないから」→「俺はそれでもいい」…B と、A部分のキーワード「コスト」という単語を使うことによって、AとBが意味の上でつながっていることを明示するべきだ Bの冒頭を省くから「そして」が宙に浮く >おかしな流れにならなければ、俺がわざわざ時間をかけて長文を投下することもない。 上で示したように、君の文章は「おかしな流れ」そのものといっていい スレが「おかしな流れ」であるとき、それを正すのに「おかしな流れ」の文章が使えるとでも思っているのか? : ◆QZaw55cn4c (ワッチョイ 8a60-oeap) [sage] 2018/10/19(金) 07:17:05.03:akKjNeBd0 >上から目線で長文書く奴の特徴 >論理的思考が欠如している 感情にまかせて思いついた単語を羅列するあまり、 前半と後半の意味の整合性がとれていなかったり、前半と後半をつなぐ接続詞が不適切であったり、で、 はっきりいって脈絡がない 書いている本人はテンポ良く文章を量産できる「頭のいい自分」に酔いしれているのだろうが、 実際には量産されているのはポンコツ文 : デフォルトの名無しさん (アウアウウー Sa9f-BMDm) [] 2018/10/19(金) 10:18:49.82:gPrGaWTXa 長文をゆっくり書いていられるゆとりのある人はいいなあ : デフォルトの名無しさん (アウアウカー Safb-dUTK) [] 2018/10/19(金) 10:20:47.68:SjrnPnkZa ポンコツかどうかはコード書かせれば分かるだろ。 この世界では他がポンコツでもコードが書ければ正義だ。 : デフォルトの名無しさん (ワッチョイ f364-qPjg) [sage] 2018/10/19(金) 12:53:54.85:7j5wTJzZ0 すまん。俺には知識もないし賢くもないので もしもあなたさえ良ければのゴミな点を指摘してもらえると嬉しいな。 : デフォルトの名無しさん (ラクッペ MMc3-2+nH) [sage] 2018/10/19(金) 13:19:52.78:R+tFUjApM いくらコードが書けても設計通りに書けないなら駄目じゃん : デフォルトの名無しさん (JP 0H1b-87xj) [sage] 2018/10/19(金) 13:27:43.51:F6BbYzOIH hello worldの存在意義は、 その言語に初めて触れる人に、 言語の規格にきちんと準拠して、 最小限の記述で、 きちんと動作する、 何かのプログラムを見せることだよ。 どんな設計スタイルがいいとか教えることじゃない。 : デフォルトの名無しさん (ワッチョイ 978a-aSWc) [sage] 2018/10/19(金) 13:59:06.39:P91Z2zs70 hello, worldって コンパイラをインストールした後 動作確認する為のテスト用だと思ってた : デフォルトの名無しさん (ワッチョイ be61-7PZ0) [sage] 2018/10/19(金) 14:28:27.19:bojs5aOI0 ゲーム機ハックした人が最初に実行した自作アプリがhello worldだったとかなんとか。 : デフォルトの名無しさん (アウアウウー Sa9f-BMDm) [] 2018/10/19(金) 14:33:09.80:gPrGaWTXa カーニハンそんなことやってたっけ? : デフォルトの名無しさん (アウアウカー Safb-dUTK) [] 2018/10/19(金) 15:14:02.97:SjrnPnkZa 設計通りに書けない奴はコードが書ける奴とは言わんだろ。 : デフォルトの名無しさん (アウアウカー Safb-dUTK) [] 2018/10/19(金) 15:21:55.54:SjrnPnkZa どっちも正しい。 GBAハックした時は点を一個表示するのが最初だった。 Hello Worldは二番目。 : デフォルトの名無しさん (ワッチョイ 2e23-nBLa) [sage] 2018/10/19(金) 16:34:20.62:2swZl7760 adjtimeって何秒まで調整できるの? 2145秒? : デフォルトの名無しさん (アウアウウー Sa9f-BMDm) [] 2018/10/19(金) 17:14:10.33:gPrGaWTXa Linuxというかglibcならmanページに書いてあるよ。 : デフォルトの名無しさん (ワッチョイ f380-tM5n) [] 2018/10/19(金) 22:42:18.68:zxKaiBZl0 make worldでX立ち上がったときは 感動したものだ : デフォルトの名無しさん (ワッチョイ 66d5-7cZp) [sage] 2018/10/20(土) 00:30:32.53:o/rPvxpn0 make world ってなんかかっこいいよな : デフォルトの名無しさん (ワッチョイ ba80-JSR1) [sage] 2018/10/20(土) 00:33:01.78:rwRxHeub0 世界の創造主、いわゆるゴッド : デフォルトの名無しさん (ワッチョイ be81-xJah) [sage] 2018/10/20(土) 01:37:49.13:/s/GXT/Q0 それで思い出した プロジェクトでのmakefile、作成が終わった時に バナー文字で「make end!」って表示するんだけど ある人のだけは「big cock!」に書き換えてたっけ ここには関係者いないよね? : デフォルトの名無しさん (アウアウカー Safb-dUTK) [] 2018/10/20(土) 15:49:24.33:Nttc2RvPa C言語だから、次世代言語(w)よりもコード出るかと思ったら、出ないのな。 : デフォルトの名無しさん (ワッチョイ aebe-fIkj) [sage] 2018/10/20(土) 21:33:22.48:y1kFtLUq0 どうでもいいけど 「w」という名前の言語があるのかと思った。割と本気で調べてしまったw : デフォルトの名無しさん (ワッチョイ 269f-nBLa) [sage] 2018/10/21(日) 04:55:52.71:sz/a4USN0 あるね。 ttp://http://memo.sappari.org/a2z-languages ttp://http://www.vttoth.com/CMS/index.php/projects/49 : デフォルトの名無しさん (ワッチョイ 7e15-nBLa) [sage] 2018/10/21(日) 20:05:57.37:YP/adz7t0 近称で自己紹介乙 : デフォルトの名無しさん (ワッチョイ 6ab3-b3y3) [sage] 2018/10/21(日) 21:20:19.52:S2kctYlU0 ごめん、俺は精神科じゃないし w : デフォルトの名無しさん (ワッチョイ be81-xJah) [sage] 2018/10/21(日) 21:28:27.90:o3Tx01ZR0 病気の話を持ち出すのは、そういう体験が豊富にあるからだろう : デフォルトの名無しさん (ワッチョイ 7e15-nBLa) [sage] 2018/10/21(日) 22:08:00.66:YP/adz7t0 人物と診療科を等値比較とかおまえstd::logic_errorだな : デフォルトの名無しさん (ワッチョイ 3bb3-xBTp) [] 2018/10/21(日) 22:17:56.29:+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"); } : デフォルトの名無しさん (ワッチョイ 6ab3-b3y3) [sage] 2018/10/21(日) 22:24:44.10:S2kctYlU0 精神科医のタイポの指摘しかできなくて悔しいね w : デフォルトの名無しさん (アウアウカー Safb-XHS6) [sage] 2018/10/21(日) 22:40:20.13:P+edJh4ea 定数のマクロあったりしないのか : デフォルトの名無しさん (ワッチョイ 7e15-nBLa) [sage] 2018/10/21(日) 23:01:49.92:YP/adz7t0 あ、おまえ間違えたの? アホとヴァカしかやらない間違いだなw : デフォルトの名無しさん (ワッチョイ f3ea-JQ7R) [sage] 2018/10/22(月) 00:28:49.01:4J0CKskh0 基本情報c言語で受かってた すごいっしょ : デフォルトの名無しさん (ワイモマー MM8a-e2v7) [sage] 2018/10/22(月) 01:24:24.92:qPiOMOlUM なんかいろいろ勘違いしてないか >1.175494e-38を抜けるとバカな数字が出てくると仮定して この仮定がはずれてるから無限ループしてんじゃん : デフォルトの名無しさん (ワッチョイ 3bb3-FQxm) [] 2018/10/22(月) 01:30:41.57:eGJ65JSF0 int型だとオーバーフローすると馬鹿な数字がでてくるからそう仮定したんだが違うのか 率直に聞くんだけど、この場合どうすればいいの? : デフォルトの名無しさん (ワッチョイ 8af9-L5c9) [sage] 2018/10/22(月) 01:41:56.82:ao50gEDc0 バカな数字とかいい加減な理解をしないで、ちゃんとした仕様を調べてみなよ。例えばwikipedia辺りで算術オーバーフローの項目見て全部読んで、分からない語とか関連する語もちゃんと調べるとか。 : デフォルトの名無しさん (ワッチョイ 7e5b-aqc6) [sage] 2018/10/22(月) 02:29:56.23:gc2RKbtu0 無限ループはしないけどどんどん値は減っていく。 理由わかるの?828じゃないけど俺も知りたい。 : デフォルトの名無しさん (ワイモマー MM8a-e2v7) [sage] 2018/10/22(月) 02:49:07.02:qPiOMOlUM int? int使ってる? : デフォルトの名無しさん (ワッチョイ 6ab3-b3y3) [sage] 2018/10/22(月) 04:47:45.21:o0mVKFY/0 : sage (ワッチョイ 3bb3-xBTp) [] 2018/10/22(月) 04:59:16.08:eGJ65JSF0 int型で似たようなこと(最大の正の数値を求める)やろうとしたら、バカみたいな数字が出たってだけだよ : デフォルトの名無しさん (ワッチョイ ea11-nBLa) [sage] 2018/10/22(月) 06:47:45.13:MQnoZdqg0 アホw ヴァカwww : 名無しさん@そうだ選挙に行こう! Go to vote! (ドコグロ MM22-b3y3) [sage] 2018/10/22(月) 07:09:00.78:PnrNZBigM : 名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ ea7c-M8rW) [sage] 2018/10/22(月) 07:36:45.42:3zPWDIkK0 非正規化数(denormal)でぐぐれ : 名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ ea11-nBLa) [sage] 2018/10/22(月) 09:03:08.22:MQnoZdqg0 アホとヴァカを認めやがったw : 名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ 26e7-iIDB) [sage] 2018/10/22(月) 10:25:10.75:OFRfv3K50 KYB : デフォルトの名無しさん (ドコグロ MM22-b3y3) [sage] 2018/10/22(月) 12:24:07.96:PnrNZBigM 意味のわからん解釈で勝ち誇るとか低能の定番乙 w : デフォルトの名無しさん (アウアウウー Sa9f-L0SM) [] 2018/10/22(月) 12:59:00.86:8WYgXfgna そろそろコードで語れや : デフォルトの名無しさん (ワッチョイ ea11-nBLa) [sage] 2018/10/22(月) 13:28:16.05:MQnoZdqg0 意味わからんのか よほど高力価のトランキライザーを打たれているようだな もう末期でオピオイドとかか? お大事に : デフォルトの名無しさん (JP 0H1b-xBTp) [sage] 2018/10/22(月) 15:05:43.37:K/0BTgUUH ですが、参考書やらをみてアンダーフロー・正規化についてしっかり理解したところ、解決しました。 要は、float型のビット表現の仮数部が 0.(仮数部) ではなく 1.(仮数部) で表現されてるから、 その意味では 0|00000001|00000000000000000000000 が最小の正数になるけど、仮数部を 0.(仮数部) と表現しても計算できないことはないから、 0|00000000|10000000000000000000000 もちゃんと表示される、ということだけど、 これ以降ずっと計算していくといずれ 0|00000000|00000000000000000000000 となるから、150回目くらいでアンダーフローが起こる、ということらしい。 とありがとうございました。 : デフォルトの名無しさん (ドコグロ MMc3-b3y3) [sage] 2018/10/22(月) 19:09:18.14:LClj1fo2M アホとヴァカとしか言えなくて悔しいね w : デフォルトの名無しさん (ワッチョイ ea11-nBLa) [sage] 2018/10/22(月) 21:38:29.05:MQnoZdqg0 そうか、847にアホとヴァカって書いてあるのか 実際には、そう言ってるのはおまえだけなんだが 確かに悔しそうに勝ち誇っているシュールな姿だねw : デフォルトの名無しさん (ワッチョイ 6ab3-b3y3) [sage] 2018/10/22(月) 23:25:34.63:o0mVKFY/0 > そうか、847にアホとヴァカって書いてあるのか > 実際には、そう言ってるのはおまえだけなんだが ヴァカで検索 > あ、おまえ間違えたの? アホとヴァカしかやらない間違いだなw > アホw ヴァカwww > アホとヴァカを認めやがったw 849-850 は指摘なので省略 > 自分にお前だけとかかなりシュールな姿だねw : デフォルトの名無しさん (ワイモマー MM8a-e2v7) [sage] 2018/10/23(火) 02:12:44.79:hcGdXqLuM 飽きないねぇ・・・ : デフォルトの名無しさん (ワッチョイ ba80-JSR1) [sage] 2018/10/23(火) 03:28:29.69:MMiE9qLz0 色々違う : デフォルトの名無しさん (ワッチョイ f364-qPjg) [sage] 2018/10/23(火) 12:00:30.24:cKF5Z2eR0 C言語でLinuxのdmesgやffmpegのログのような着色された分かり易いログ出力ができるライブラリってありますか? [YYYY-MM-DD hh:mm:ss.ss] INFO: creating some file... のような形式がいいんですけど、Cだと自作するしかないですかね? : デフォルトの名無しさん (アウアウカー Safb-LYDX) [sage] 2018/10/23(火) 12:27:40.24:SzZ0Y41Da 標準ライブラリにはない git漁ればあるはず でもそのぐらいなら自分でチョロっと書けば終わる : デフォルトの名無しさん (アウアウエー Sae2-XHS6) [sage] 2018/10/23(火) 12:33:21.57:9ghnGYJ4a 色だけだったら制御コード挟むだけでかなり直接的な操作だから、ライブラリ要らんと思うよ : デフォルトの名無しさん (ワッチョイ 4acb-nBLa) [sage] 2018/10/23(火) 21:42:50.09:/OGOSsnj0 ヴァカと書いてあるのを血眼で探したのか ご苦労だったな で、誰か「自分にお前だけ(ry」とかテレパシーで話しかけてきたのか なるほど精神科の医者じゃなく患者だな 精神分裂病の陽性症状で幻聴がひどいようだな : デフォルトの名無しさん (ワッチョイ 6ab3-b3y3) [sage] 2018/10/23(火) 21:55:22.05:AzbdbLNL0 血眼? 検索機能も知らんのか w : デフォルトの名無しさん (アウアウウー Sa9f-Egl2) [sage] 2018/10/23(火) 22:50:27.85:PGQOpxAMa サンプル書いてやったぞ #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); : デフォルトの名無しさん (アウアウカー Safb-lmgi) [sage] 2018/10/24(水) 00:50:22.48:pNd6Tk0Ba do/whileでくくる意味あんの? : デフォルトの名無しさん (ブーイモ MMd6-v9b0) [sage] 2018/10/24(水) 00:54:26.48:PjZwCPb8M 末尾のセミコロンがなければ意味あるけど、 セミコロンのせいで無意味になってるね。 : デフォルトの名無しさん (ワイモマー MM8a-e2v7) [sage] 2018/10/24(水) 01:18:13.51:fzPXyYYOM カラーコードをハードコーディングかぁ やりますねぇ・・・ : 854 (ワッチョイ f364-qPjg) [sage] 2018/10/24(水) 01:42:48.00:+vpF9pgu0 ありがとうございます! 一点,おこがましい指摘なのですがfprintfの出力先はstderrのほうがいいのではないかと思います。 ログ出力はコマンドの出力とは別個にするべきなので。 : 854 (ワッチョイ f364-qPjg) [sage] 2018/10/24(水) 01:48:03.42:+vpF9pgu0 例えば改行を\x0aで固定するのは良くない方法であり、\nにすべきですが(これだとWindows向けにビルドしてやれば\0x0d\0x0aが出力されるようになる) 着色に関するエスエープシーケンスを固定するのは別に大丈夫だと思います。 ECMA-48/8.3.117などで標準化されてますし。 : デフォルトの名無しさん (ワイモマー MM8a-e2v7) [sage] 2018/10/24(水) 02:18:53.70:fzPXyYYOM ん、いや、マクロくらい使おうよって話 : デフォルトの名無しさん (ワッチョイ f364-qPjg) [sage] 2018/10/24(水) 03:09:04.52:+vpF9pgu0 ああ 「\e[33m」という記法それ自体ではなく 「33」という文字列を,例えばYELLOWマクロにする,というような意味だったんですね。 まあ確かにそうかも知れないです。 : デフォルトの名無しさん (ワイモマー MM8a-e2v7) [sage] 2018/10/24(水) 04:01:46.93:fzPXyYYOM いやいや・・・ それ丸ごとマクロにした方が楽でしょ・・・ ttp://https://stackoverflow.com/questions/3219393/stdlib-and-colored-output-in-c : デフォルトの名無しさん (ワッチョイ 66d5-7cZp) [sage] 2018/10/24(水) 05:49:24.17:X/sBrfkw0 説明のための例だからそういう定義が分かりやすいとして、 こういうのを定義するときは、手段じゃなくて目的で定義する方がいいんじゃないかな。 ソース位置の強調をするために 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", とか。 : デフォルトの名無しさん (アウアウウー Sa9f-Egl2) [sage] 2018/10/24(水) 07:45:53.57:hBENxp+1a ;はミスだわ サンプルなのでお好きに 好みかもしれんが、一行の中で色変えるとか見づらくないか? そのフォーマットではファイル出力したくなくなるし 俺が色使うなら #define D(type, fmt, ...) でタイプ指定して fprintf(stdout, COLOR(type) ... COLOR_END "\n", とかで色変えるぐらいかな : デフォルトの名無しさん (ワッチョイ 66d5-7cZp) [sage] 2018/10/24(水) 09:48:15.70:X/sBrfkw0 例だから派手にしたけど、言いたいのは目的にちなんだ定義名にした方がいいってこと。 ログレベル毎に色を変えるなら、STYLE_ERROR、STYLE_WARN、STYLE_INFO とかさ。 : デフォルトの名無しさん (アウアウエー Sae2-DAUi) [sage] 2018/10/24(水) 09:56:16.01:WhwEQaTDa まあ抽象は正義だからな : デフォルトの名無しさん (ドコグロ MM3b-b3y3) [sage] 2018/10/24(水) 19:57:27.64:a4OXlgOjM 正論と同じであまり振りかざされても実務では面倒なだけ とか正直ウザって思うわ : デフォルトの名無しさん (アウアウウー Sa9f-L0SM) [] 2018/10/24(水) 20:20:46.99:k2aW8IHEa cursesライブラリは使えないなかな? : デフォルトの名無しさん (ワッチョイ f364-qPjg) [sage] 2018/10/24(水) 20:56:00.65:+vpF9pgu0 ていうかログのフォーマットってCでは標準化されていないのね、SUS含め。 Javaのlog4jやPythonのloggerみたいなものがあれば 一番嬉しいんだけどね : デフォルトの名無しさん (スッップ Sd8a-Iuwz) [sage] 2018/10/24(水) 21:31:34.66:0y0LlX3od C初心者です、よろしくお願いします ubuntuのvimでしこしこ書いてgccでコンパイルしています CでIDEを使ってみたいのですがオススメありましたら教えてください 仕事ではJavaでEclipseを使ってるのですがCで使ってみたらいまいちピンと来ませんでした やはり皆さんVisualStadioとかVSCodeあたりでしょうか? : デフォルトの名無しさん (ワイモマー MM8a-e2v7) [sage] 2018/10/24(水) 23:14:58.20:GbRp+dd6M そうですね ぜひ使ってみて下さい : デフォルトの名無しさん (アウアウウー Sa5d-hDoO) [] 2018/10/25(木) 09:43:50.32:hw/Q19JUa ないけどUNIXで昔からsyslog使われてた。というかそれがあったせいで他のログ出力ライブラリが広まらなかったのかも知れない。 : デフォルトの名無しさん (アウアウエー Sa93-S3gW) [sage] 2018/10/25(木) 10:55:57.05:OLog262Fa ログ出力も奥が深いよな。 大量かつ高速が条件だとなかなか悩む : デフォルトの名無しさん (ワッチョイ 0781-HyCk) [sage] 2018/10/25(木) 12:17:11.73:3CeE+Pyi0 最近はログをDBに格納している : デフォルトの名無しさん (JP 0H19-+toU) [sage] 2018/10/25(木) 15:07:02.91:UNvjysmaH DBのログは? : デフォルトの名無しさん (ワッチョイ 9764-Ed1r) [sage] 2018/10/25(木) 15:27:49.50:R/0gSUq30 syslogは日付がISOに従ってないのがちょっと嫌だな。 [YYYY-MM-DDThh-mm-ss,ssZ] LOGLEVEL: some messages. こんな感じがいい : デフォルトの名無しさん (アウアウウー Sa5d-hDoO) [] 2018/10/25(木) 15:40:47.48:hw/Q19JUa rsyslogdだと設定できなかったっけ? : デフォルトの名無しさん (ドコグロ MMcf-YOnW) [sage] 2018/10/25(木) 17:56:49.79:zmVgc+jlM 大量⇒高速に処理が必要だから、その条件は大体セットだろ それにプログラムが異常終了してもログが欠落しないとかの条件がつくと難易度が更に上がる : デフォルトの名無しさん (ワッチョイ 9764-g60c) [sage] 2018/10/25(木) 18:37:09.60:R/0gSUq30 うーん。素人考えなんだけどfprintf()関数を呼び出したり,その中で__FILE__マクロ変数を展開したりするのって そんなにコスト掛かる動作じゃないよね。 いくら大量の処理とは言え,ログを出力しただけで影響がでるような厳しい環境ってそうなくない? そしてそもそもそんな環境でログ処理ではないメインの処理って動くの? : デフォルトの名無しさん (ワッチョイ 73d5-nh9x) [sage] 2018/10/25(木) 18:46:33.19:s6Ph9fEn0 マルチプロセスやマルチスレッドだったりすれば排他も必要だし、fprintf 使っただけだとプロセスの突然死なんかではバッファがフラッシュされず失われ、一番欲しい落ちる寸前の情報が欠けかねない。 小まめにフラッシュしたらそれはそれで性能の問題が出る。 奥が深いと思うよ。 : デフォルトの名無しさん (アウアウウー Saf1-6HWJ) [sage] 2018/10/25(木) 23:51:29.92:GsCjxORea ああ、過剰な例だったか あの例は抽象化ではないけどな まあ例だから深くは言うまい : デフォルトの名無しさん (アウアウウー Saf1-6HWJ) [sage] 2018/10/26(金) 00:21:48.90:7237jhqNa どの程度の性能を求めてるか次第だと思うよ 時刻取得でも clock_gettime と gettimeofday でうるさく言う人もいるしね トレースログみたいに高速かつ大容量を考えるなら ログがN件入るバッファを複数持っておいて 情報は基本バイナリで登録、ローテート時にファイル書き出し、 別途パーサーを作る、とかかな まあそこまでする必要のあるソフトなんて稀だろうけど : デフォルトの名無しさん (ワッチョイ 5b30-7TBo) [sage] 2018/10/26(金) 09:13:38.45:hAbqlzFH0 ポインタをややこしくしてるのは int* a; の a がポインタ変数で a[10] という配列がある時、a と書くだけで配列の先頭アドレスの別の書き方として許されてるがいけないんじゃないのかな?って思ったんだけど合ってる? 配列の先頭アドレスは常に&a[0]って書くようにするようにすればポインタのごちゃごちゃって解消されない? : デフォルトの名無しさん (アウアウエー Sa93-S3gW) [sage] 2018/10/26(金) 09:51:00.93:2eu7c7Ria Cだったら配列なんてものがあると思わん方がいいかもね 入門書的にはポインタより配列の紹介が先に書いてあったりするが、確かに問題はある。 : デフォルトの名無しさん (ブーイモ MMbf-+toU) [sage] 2018/10/26(金) 10:26:55.40:8auh1e/NM あと、p[i] も禁止して、*(p+i) を強制しないとだめ。 : デフォルトの名無しさん (ワッチョイ 1323-7TBo) [sage] 2018/10/26(金) 10:54:29.59:cduwye+60 そのへんはシンタックスシュガーというよりは たまたま結果的に同じものを指している 程度だし 原理原則を省かず丁寧に覚えていくしかないのでは : デフォルトの名無しさん (ワッチョイ 7312-SUE8) [sage] 2018/10/26(金) 11:21:53.96:E0U+wNaz0 違う 違うナァ 機械語→BASICのころには 「変数って何だ?!!」として変数なる概念をなかなか理解できなかったやつがいた…… と言う話を聞いてる 今の初心者の一部もなじめないヤツが一定数いる 言ってしまえばC言語は「変数指向」のプログラミング言語だ オブジェクト指向や関数型に並び立つような、な 気付いてないが現代プログラミング言語は「変数指向」で出来てる そしてどんな思想であろうとどんだけ説明してもその概念の片鱗すら理解出来ないヤツはいる なので「変数」概念の理解に原理原則なんて存在しない 一発で理解出来るか素直に受け入れるかのどちらかしかない それ以上説明しても意味が無い、という人物は少数だがいる これはしょうがない : デフォルトの名無しさん (ワッチョイ c3e7-t6cX) [sage] 2018/10/26(金) 12:12:26.16:k/2ANTBE0 なんかの本に int *a; と宣言してあったら、式の中で *a と書かれたものが整数であると的確に説明してあった。 : デフォルトの名無しさん (ワッチョイ 73d5-nh9x) [sage] 2018/10/26(金) 13:39:36.53:T+aWo9i70 それが分かりやすいかはちょっと微妙じゃね。 int i; ならその領域は確保されてるけど、int *a; と宣言した *a は型としては i と同じだけどそのままで i と同じように使えるわけじゃないし。 ポインタで迷うレベルに通じる話じゃなさそうだし、これが通じるならポインタで迷ってないんじゃね。 : デフォルトの名無しさん (ワッチョイ 9764-Ed1r) [sage] 2018/10/26(金) 14:13:47.90:ScQN6FWl0 じゃんね? : デフォルトの名無しさん (ワッチョイ 9764-Ed1r) [sage] 2018/10/26(金) 14:14:23.54:ScQN6FWl0 あ んじゃね か。 馬鹿だった。 : デフォルトの名無しさん (アウアウウー Sa6d-eYkk) [sage] 2018/10/26(金) 15:09:00.24:WWw+Yxena マシン語でもレジスタが変数みたいなもんだろ : デフォルトの名無しさん (スプッッ Sd9b-UHBe) [] 2018/10/26(金) 17:09:00.87: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; } : デフォルトの名無しさん (アウアウウー Sa5d-hDoO) [] 2018/10/26(金) 17:14:58.46:8JGFizbaa argc調べる前にstrcmp()するのは変だろう。 : デフォルトの名無しさん (ガラプー KKa3-XSGY) [sage] 2018/10/26(金) 17:17:49.51:BF6Z7BaaK 組み込みでsicpて読む価値あんの? : デフォルトの名無しさん (スプッッ Sd9b-UHBe) [] 2018/10/26(金) 17:21:54.90:JLzES5S7d それを直したらsegmentation faultしなくなったんですけど、理由が知りたくて… : デフォルトの名無しさん (アウアウエー Sa93-S3gW) [sage] 2018/10/26(金) 18:06:31.80:XW9xoDKGa たとえばargv[2]が空だったらstrcmpの引数は何になるんだという : デフォルトの名無しさん (ワッチョイ 73d5-nh9x) [sage] 2018/10/26(金) 18:16:18.06:T+aWo9i70 argc が 3 なら argv[2] は何か入ってるだろ : デフォルトの名無しさん (ブーイモ MMbf-+toU) [sage] 2018/10/26(金) 18:20:05.25:pYWWPyQzM どうでもいいけどargvが3じゃなきゃいけないのにそのusageはどうよ : デフォルトの名無しさん (ワッチョイ eb72-UHBe) [] 2018/10/26(金) 18:25:03.95:HaLyiKNA0 なるほどです 理解しました これではよくないんですか? : デフォルトの名無しさん (アウアウウー Sa5d-hDoO) [] 2018/10/26(金) 18:25:43.74:8JGFizbaa 引数がなかったり一つだったりした時に先に無条件にstrcmp()をしてしまうと両方または一方が不定値やNULLになるので落ちたり変な動きになったりする。 : デフォルトの名無しさん (ワッチョイ eb72-UHBe) [] 2018/10/26(金) 18:28:06.65:HaLyiKNA0 詳しい説明ありがとうございます : デフォルトの名無しさん (ワッチョイ 73d5-nh9x) [sage] 2018/10/26(金) 19:03:31.73:T+aWo9i70 え、その問題はもう直してあって、 は直す前のコードで argc が 3 だと落ちたけどなんで?って話なんだよね? : デフォルトの名無しさん (ワッチョイ eb72-UHBe) [] 2018/10/26(金) 19:42:46.18:HaLyiKNA0 すみません間違いました 3以外が入ってるときです : デフォルトの名無しさん (アウアウエー Sa93-S3gW) [sage] 2018/10/26(金) 20:16:13.66:XW9xoDKGa main(void)の場合もメモリ上のどこかにargvが入ってるだろうか? : デフォルトの名無しさん (ブーイモ MMf3-+toU) [sage] 2018/10/26(金) 20:46:48.73:TAH5LWiNM [hoge]はhogeが省略可能って表現 あとスペースちゃんと入れろよ : デフォルトの名無しさん (ワッチョイ 9764-g60c) [sage] 2018/10/26(金) 21:08:53.88:ScQN6FWl0 みんな知ってるかもしれないが [--foo]で--fooオプションが省略可能だということはかなり広範な決まりで, POSIXに始まりGNUプロジェクトやPythonのインターフェース規格でも取り入れられてる。 : デフォルトの名無しさん (アウアウウー Saf1-6HWJ) [sage] 2018/10/26(金) 22:48:54.99:dAefMjKVa そりゃいるだろうよ、と思って確認してみた 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 : デフォルトの名無しさん (アウアウウー Saf1-6HWJ) [sage] 2018/10/26(金) 22:54:36.13:dAefMjKVa これだな ttp://https://ja.wikipedia.org/wiki/Man%E3%83%9A%E3%83%BC%E3%82%B8 ttp://https://qiita.com/aosho235/items/0f2b73d08eb645c05208 俺が生まれる20年以上前からあるとか感慨深い : デフォルトの名無しさん (ワッチョイ 9764-g60c) [sage] 2018/10/26(金) 23:22:14.01:ScQN6FWl0 ちょっと違うぞ。 ttp://http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html こういうの。 : デフォルトの名無しさん (ワッチョイ bb80-+toU) [sage] 2018/10/26(金) 23:22:24.86:gi8K36IH0 man読む習慣があれば自然と身につくのに : デフォルトの名無しさん (ワッチョイ 457b-gsMg) [sage] 2018/10/26(金) 23:50:26.20:vTWFo6xp0 ナウなヤングはinfo使ってるから… : デフォルトの名無しさん (ワッチョイ 9764-Ed1r) [sage] 2018/10/27(土) 00:13:55.83:BbyQQXdF0 infoの使い方分からないマン : デフォルトの名無しさん (アウアウエー Sa93-S3gW) [sage] 2018/10/27(土) 00:36:12.58:QSCXw9iYa ]で次のページに行く : デフォルトの名無しさん (アウアウウー Saf1-6HWJ) [sage] 2018/10/27(土) 00:49:36.02:If2PGrjfa POSIXに始まりってのは歴史的な話じゃなくて規約的な話だったか でもここまで規約が決まってたのは知らんかったわ : デフォルトの名無しさん (ワッチョイ eb72-UHBe) [] 2018/10/27(土) 01:29:30.14:x+9raBkh0 そういう意味があるんですね ありがとうございます : デフォルトの名無しさん (ワッチョイ 614f-SUE8) [sage] 2018/10/27(土) 13:15:19.86:8fc2vBvs0 違うぞ。 その世代(ベーマガ世代)で変数が理解出来なかったのは、数学的素養がなかったからだ。 数学で「変数」が導入されるのは「方程式」からで、それ以前の小学校の算数は全部「定数」で出来ているから、 その世代の『小学生』はそこに戸惑っただけ。 機械語/BASICとかは関係ない。 高一で物理を始めると、三角関数が出てきて戸惑うようなもの。 学校によっては高二から始めるらしいが、その場合は戸惑うことはないだろ。 或いはアフィン変換も同じ。 あれも数学で回転行列を習った後なら容易いが、 『小学生プログラマ』にやらせようと思ったら、まず座標を教えて、その後に…と色々必要だろ。 数学的素養がないと、プログラミングは理解出来ないんだよ。 小学校教育に取り入れた馬鹿共は、プログラミングが出来ないから、それが分からないだけ。 ○○が分からない、と言う奴は大概、数学の素養がないか、そもそも全てを『暗記』で済ませてきたタイプだ。 (世の中大概それでどうとでもなるのも事実ではあるが、)それではどうあがいてもプログラミングは上達しない。 頭を切り換えて、全てを『理解』する癖を付けることだね。そしてまず数学を勉強すべきだ。 そうしないとただのコピペ(写経)マンになってしまう。 (はっきり言って昔のベーマガ世代も実際やっていたのは写経でしかないし) 色々理解したら、なるほどCは文法的にも構造的にも美しく出来ているし、 色々無駄がないからこそ、いまだに現役で使われ続けていることが理解出来るようになる。 ただし、分かりやすいわけではないので、俺は初心者はCから始めるべきではないと思うがな。 : デフォルトの名無しさん (ワッチョイ 7312-SUE8) [sage] 2018/10/27(土) 15:37:40.83:BkFfYRiz0 中学の授業では便宜上は今まで変数を習ったことの無い中学なりたてホヤホヤのガキに変数を教えるんだよな? なのになんでそれで新中学一年生は変数を理解出来るんだ? 素養が無いのにも関わらず変数を授業で教えると理解できるんだぞ? 不思議じゃないか? : デフォルトの名無しさん (ワッチョイ 5761-JHIh) [sage] 2018/10/27(土) 15:55:34.30:IeSn2Jid0 ベーマガのゲーム入力して 兄「ここの数字増やすと自機数が増えるんだよ」 自分「へぇ」 兄「ここの P=P-1を消すと死んでも自機数減らないんだよ」 自分「へぇ」 当時小学3年ごろ。 これで変数と言うのを理解したわ。 : デフォルトの名無しさん (アウアウカー Sad3-S3gW) [sage] 2018/10/27(土) 15:59:43.62:YzjvNBrca どういう順番でも抽象的な理解はできると思うよ。本当に「理解」なのかわからんけど。 でも数学が先じゃないと時間の無駄という気はする。 : デフォルトの名無しさん (アウアウカー Sad3-S3gW) [sage] 2018/10/27(土) 16:01:45.78:YzjvNBrca 線形代数はプログラミングと同時にやってもいいと思うわ。紙の上の操作はちょっとつまらん : デフォルトの名無しさん (ガックシ 06af-UHBe) [] 2018/10/27(土) 17:08:17.28:pWQGtgcn6 線形代数とプログラミングってなんの関係があるん? 最近、プログラミング始めたからよくわからんのよな : デフォルトの名無しさん (ワッチョイ 0781-HyCk) [sage] 2018/10/27(土) 17:14:52.39:NY1AcmJf0 >P=P-1 プログラム上と代数学上の記法の違い、最初面食らわなかったか? : デフォルトの名無しさん (ブーイモ MMf3-JP9K) [sage] 2018/10/27(土) 17:36:20.97:DmauAY/3M 変数にしろ関数にしろ教え方がアホすぎて全然理解できてなかったわ 単に計算できるだけだった 後にプログラミングやるようになって何で学校の数学ではあんな馬鹿な教え方をされたんだろうかと思ったわ : デフォルトの名無しさん (ワッチョイ 5b30-7TBo) [sage] 2018/10/27(土) 17:38:52.04:Ttfv0KRj0 やねうらおとか小学生の時にはもう大学の数学をやっていたというが・・・冗談なのか本当なのかわからんがとんでもねぇプログラマなのは確かだからな・・・ : デフォルトの名無しさん (ワッチョイ 614f-SUE8) [sage] 2018/10/27(土) 17:43:25.28:8fc2vBvs0 だからお前は猿のままなんだな、納得した : デフォルトの名無しさん (ワッチョイ bb80-+toU) [sage] 2018/10/27(土) 17:53:34.74:zu36BJom0 代入に=を使ったFORTRANの罪は大きい : デフォルトの名無しさん (アウアウカー Sad3-jr42) [] 2018/10/27(土) 17:59:56.52:p3Z91K38a P=P-1みたいなのが解らない人は関数型言語に行けば良いんじゃ無いかな。 代数学に比較的近い。 : デフォルトの名無しさん (アウアウカー Sad3-jr42) [] 2018/10/27(土) 18:06:00.09:p3Z91K38a プログラミングに必ずしも数学が得意で有る必要は無いとは言われてるけど、数学得意な人がプログラミング出来るようになる事が多い気はする。 どちらも例外はあるけれども。 少なくともプログラミング関係の専門書って大学数学前提が多い。 前提じゃ無いのはわざわざ高校数学で出来るとか書いてるし。 : デフォルトの名無しさん (ワッチョイ 530a-7TBo) [sage] 2018/10/27(土) 18:16:50.52:C9jhaecu0 推論型言語でP=P-1 : デフォルトの名無しさん (ガックシ 06d9-e7ji) [] 2018/10/27(土) 18:24:00.38:HWNtkJs26 1〜12月を入力し、入力した月の日数を表示する。 これを論理演算子で表示しろという。 else if( month == 3) { printf("3月は31日です\n")} というのを作ったが不可。 論理演算子を使っていないからという。 論理演算子をどう使えばいいんですか。 : デフォルトの名無しさん (ワッチョイ bb80-+toU) [sage] 2018/10/27(土) 18:28:29.79:zu36BJom0 month == 3 && printf("3月は31日です\n"); とか?w : デフォルトの名無しさん (ワッチョイ bb80-+toU) [sage] 2018/10/27(土) 18:31:23.89:zu36BJom0 ; も || に置換可。 : デフォルトの名無しさん (ワッチョイ 614f-SUE8) [sage] 2018/10/27(土) 18:38:10.74:8fc2vBvs0 > ガックシ 先生に聞けよマジで : デフォルトの名無しさん (ワッチョイ 73d5-nh9x) [sage] 2018/10/27(土) 19:17:35.26:5acUAORp0 m を月としたら d = (15657907 >> (m - 1) * 2) & 3 | 28; とか? : デフォルトの名無しさん (ワッチョイ 614f-SUE8) [sage] 2018/10/27(土) 19:24:28.76:8fc2vBvs0 それはビット演算子、そして+、あと普通は0x*****で書く : デフォルトの名無しさん (ワッチョイ 73d5-nh9x) [sage] 2018/10/27(土) 19:29:22.72:5acUAORp0 あぁ、そうか。 てことは単純に 30日になるもの 31になるものを || でまとめろって話か。 : デフォルトの名無しさん (ワッチョイ 614f-SUE8) [sage] 2018/10/27(土) 19:54:11.57:8fc2vBvs0 まあ普通はな。 ただそれ以前に、if文11個連ねて書くよりは…のはずだから、 普通は正しく動けばまずはよしで、それより断然いい書き方があるよね、となる。 いずれにしても先生に聞け、でしかないが。 : デフォルトの名無しさん (ワッチョイ 3f9f-JHIh) [sage] 2018/10/27(土) 20:31:12.68:FFMC2/bw0 第三回バーチャルYouTuber人気投票リベンジ募集中(全287名、2018年10月27日〜) あなたの好きなVtuberは?(一人十票) ttp://https://script.google.com/macros/s/AKfycbzW_Er5wP6kI0ZNcmcZVA4UdlXPiernQqL4xG1dVv146T8LwGKZ/exec ・前回(2018/8/22)は不正投票が行われた為、投票を途中で中止させていただきました。大変申し訳ありませんでした。 ・Googleフォームは標準仕様では不正投票が可能な為、改造して対策を行いました。 ・2018/10/27時点でチャンネル登録数10,000人以上のVtuberを対象としています。 ・一つのチャンネルでVtuberが複数人いる場合は、それぞれ分けています。 ・一人十票です。(全287名の中からお好きなVtuber10名を選んでください。) ・このフォームに投票するにはグーグルアカウントでログインする必要はありません。 ・並び順は前回の得票数の高い順と新人は登録者数の多い順に並んでいます。 ・今回も1,000人の方が投票するまで継続します。 なお投票結果はスプレッドシートにリアルタイムで表示されるようにしました。 また【概要】と【詳細】でシートを分けております。 ttp://https://docs.google.com/spreadsheets/d/1qvhqRdbbOFGQ2veqrnQmaAXIA79xTAANKUKa3HEUUC0 ▽過去の投票結果はこちら 第二回バーチャルYouTuber人気投票結果(2018年6月5日〜8月6日、全投票数1,000票)(スプレッドシート) ttp://https://docs.google.com/spreadsheets/d/1HqVp41DzLXPSuarWKkqNFZRyL20-nkMF5O5kkeEmqnA 第一回バーチャルYouTuber人気投票結果(2018年5月7日〜5月30日、全投票数1,000票)(スプレッドシート) ttp://https://docs.google.com/spreadsheets/d/1uaKoB3pJQHgC9VEkvg74v9OaSNW3Zvccr91mPN1lt5k tyjty : デフォルトの名無しさん (ワッチョイ 0f80-JP9K) [sage] 2018/10/27(土) 22:39:08.44:aNTv90Ss0 …お前の中ではif文で書いて当然の処理なのか : デフォルトの名無しさん (ワッチョイ 7312-SUE8) [sage] 2018/10/27(土) 22:39:25.58:BkFfYRiz0 中学生にちょっと教えるだけで変数を理解するのは 大抵の人間には「変数」を理解する資質が生まれながらに備わってるからさ 要するに生得論だよ : デフォルトの名無しさん (アウアウウー Sa5d-hDoO) [] 2018/10/27(土) 23:26:48.51:tUxhH/wza 2月は何日で出すんだ? : デフォルトの名無しさん (ワッチョイ 0781-HyCk) [sage] 2018/10/27(土) 23:30:49.74:NY1AcmJf0 論理演算子なんて要求がなければ、配列作ってテーブル参照にしてしまう : デフォルトの名無しさん (ワッチョイ 614f-SUE8) [sage] 2018/10/27(土) 23:55:00.74:8fc2vBvs0 普通は948の通りだろ。 そこを論理演算子なのだから、論理演算子の練習だろ。 超初心者だってことだよ。 : デフォルトの名無しさん (ワッチョイ 614f-SUE8) [sage] 2018/10/27(土) 23:56:21.90:8fc2vBvs0 それだとお前が今現在も猿と同程度なのと矛盾するだろ : デフォルトの名無しさん (ワッチョイ 5b9f-7TBo) [] 2018/10/28(日) 00:11:48.31:D9Gt7gmT0 m を月の数として printf("%d月は%d日です。\n", m, m == 2 ? 28 : (30 + ((m & 1) ^ (m >= 8 ? 1 : 0)))); なんてのはどうかな。年がわからないので2月は28日固定だが。 バグの温床になりそうなので普通はこんな複雑なの書かないが。 : デフォルトの名無しさん (ブーイモ MMa1-JP9K) [sage] 2018/10/28(日) 00:20:30.07:oSIXYZ/dM 書かないのはバグの温床だからじゃなくて 他人に意図が伝わらないオナニーに過ぎないからだぞ : デフォルトの名無しさん (ワッチョイ 5b9f-7TBo) [] 2018/10/28(日) 00:23:07.12:D9Gt7gmT0 あー。まあそういうことでもあるか。 : デフォルトの名無しさん (ワッチョイ 614f-SUE8) [sage] 2018/10/28(日) 00:55:30.03:0+vzkOx80 お前ら初心者にも分かる言い方を思いついた。 ・コードからお題に戻せるコードを書け なんだよ。 初心者は「お題○○を実現するコードは?」ばかりやってるから、「お題→コード」の変換ばかり考えるけど、 実際に重要なのは逆で、「コード→お題」の変換なんだよ。 今回の例で言うと、お題は ・月を与えて日数を得る関数 だが、これが重要なのではなくて、 ・この関数は、月を与えたら日数が得られる とコードからお題に『逆変換』出来ることが重要なのであって。 : デフォルトの名無しさん (アウアウカー Sad3-jr42) [] 2018/10/28(日) 04:41:04.83:vBzuIBdia それで行くとクイックソートとか最早ムリぽ。 コメント使わ無いのかな。。。 他にも命名規則とか、そう言うので推測し易くしてるもんでしょ。 理想だけじゃ何も書けなくなる。 : デフォルトの名無しさん (ワッチョイ 530a-7TBo) [sage] 2018/10/28(日) 05:50:13.54:Lt7UAQQy0 殺人的にくだらん : デフォルトの名無しさん (ワッチョイ 614f-SUE8) [sage] 2018/10/28(日) 08:48:10.56:0+vzkOx80 コメント自体が既に次善策なんだよ。 可能であれば、コード見たら分かることを目指すべき。 クイックソートが意味不明なコードだとも思わないけど、 あの手の「末端の」関数は適切な名前を付ければそれで問題なくなる。 つまり、sort()なら、「ソートする」と分かり、使う分に支障はないだろ。 数学関数の sin() とかも、実際の中身なんて気にしてないだろ。これと同じ。 問題は、 int d0 = (15657907 >> (m - 1) * 2) & 3 | 28; // 940 int d1 = m == 2 ? 28 : (30 + ((m & 1) ^ (m >= 8 ? 1 : 0))); // 951 では、ぱっと見意味不明だろ。 だから最低限、「関数として切り出して適切な名前を付ける」か、「コメントを付ける」かが必要になる。 これが上記みたいにベタでコメント無しで書かれてたら、殺すぞテメー、になるって話さ。 : デフォルトの名無しさん (ワッチョイ 73d5-nh9x) [sage] 2018/10/28(日) 11:51:08.52:W0+pPBsw0 こういうのどうすんの ttp://https://ideone.com/FGqs1S : デフォルトの名無しさん (アウアウエー Sa93-S3gW) [sage] 2018/10/28(日) 12:06:15.31:/iW8vuMIa ポッカント : デフォルトの名無しさん (ワッチョイ 614f-SUE8) [sage] 2018/10/28(日) 12:53:44.56:0+vzkOx80 それはいつぞやのコードだろ。 末端の関数だから、適切な名前を付けた関数にすれば問題ない。 俺なら count_1_bits か get_nof_1_bits とかにする。 勿論そのコードがベタでコメント無しで書かれてたらアウトだ。 あと、戻り値は int にしておけ。 : デフォルトの名無しさん (オイコラミネオ MM09-nh9x) [sage] 2018/10/28(日) 12:57:22.68:lZrPQQ03M どんなコメント付けるの? : デフォルトの名無しさん (ワッチョイ 614f-SUE8) [sage] 2018/10/28(日) 13:29:34.14:0+vzkOx80 // count nof 1 bits : デフォルトの名無しさん (スプッッ Sd9b-UHBe) [] 2018/10/28(日) 13:45:43.40:Bm6vOY0Hd かけるようになるのも大事だけど、それよりもまず読めるようになれってこと? : デフォルトの名無しさん (ワッチョイ 614f-SUE8) [sage] 2018/10/28(日) 13:51:17.06:0+vzkOx80 1年後に読んでも分かるコードを書け、ということ。 : デフォルトの名無しさん (ワッチョイ e33f-7TBo) [sage] 2018/10/28(日) 14:44:33.68:lBJoUXxI0 963にそのアドバイスはまだ早い : デフォルトの名無しさん (ワッチョイ 5761-JHIh) [sage] 2018/10/28(日) 15:00:37.51:6j1kxIYb0 // なぜこのコードが動いているのかわからない // 以下、あるはずのないコード群でお送りします。 /* 俺のせいじゃない */ //ここに来ることは絶対にない : デフォルトの名無しさん (ワッチョイ 0781-HyCk) [sage] 2018/10/28(日) 15:05:52.81:2a8cvg/h0 もうちょっと読み物風に書いて行けば最後まで呼んでくれるかも知れない (つづく)なんて書くと、続編への熱いメッセージをもらえるかも : デフォルトの名無しさん (ワッチョイ 5b9f-7TBo) [sage] 2018/10/28(日) 15:39:42.29:D9Gt7gmT0 冒険活劇飲料サスケ つづく : デフォルトの名無しさん (ブーイモ MMbf-gZ8p) [sage] 2018/10/28(日) 17:45:31.27:fHxT9uJhM 中学生向けみたいなお題に噛み付き過ぎで草 : デフォルトの名無しさん (アウアウカー Sad3-jr42) [] 2018/10/28(日) 18:05:27.14:vBzuIBdia 逆にちょっと高度になるとみんなダンマリ。 最近久しぶりに来たけど、昔のCスレはこんなんじゃなかった。。。 : デフォルトの名無しさん (ブーイモ MM41-F79V) [sage] 2018/10/28(日) 18:11:47.40:Z7LZHjRuM じゃあまた10年後にいらっしゃるのをお待ちしてます : デフォルトの名無しさん (アウアウカー Sad3-jr42) [] 2018/10/28(日) 18:50:49.19:vBzuIBdia もっと悪くなってるわw 正直、ここの住民がどの程度まで作れるのか分からん。 以前のお題は無視されたから、それ以下だとは思うが。。。 私もたいして書けるわけでもないのに。 (むしろ以前の方が書き込み難かった) : デフォルトの名無しさん (ワッチョイ 614f-SUE8) [sage] 2018/10/28(日) 18:51:32.36:0+vzkOx80 ここ数ヶ月、何故か超初心者が沸いてる。 : デフォルトの名無しさん (ワッチョイ 0781-HyCk) [sage] 2018/10/28(日) 18:53:04.74:2a8cvg/h0 高度なお題をお願いします : デフォルトの名無しさん (ワッチョイ 0781-HyCk) [sage] 2018/10/28(日) 18:57:13.59:2a8cvg/h0 C言語相談室(上級者専用) ttps://mevius.5ch.net/test/read.cgi/tech/1519998483/ C言語上級者スレ ttps://mevius.5ch.net/test/read.cgi/tech/1519750371/ こういうスレもあるし、そちらを覗いてみたら? 私は見てないので、内容は保証出来ませんが : デフォルトの名無しさん (アウアウカー Sad3-jr42) [] 2018/10/28(日) 19:12:09.42:vBzuIBdia そっちもチェックはしてる。(ほとんど更新されないが) こっちでも入門書程度のコードは割と出てたと思うんだが、最近全然出ない。 : デフォルトの名無しさん (アウアウウー Sa5d-hDoO) [] 2018/10/28(日) 19:13:01.60:HCT7bRsva お題はお題スレで。 プログラミングのお題スレ Part12 ttps://mevius.5ch.net/test/read.cgi/tech/1538096947/ : デフォルトの名無しさん (アウアウカー Sad3-jr42) [] 2018/10/28(日) 19:20:12.29:vBzuIBdia 高度過ぎもしないが。。。 : デフォルトの名無しさん (アウアウカー Sad3-jr42) [] 2018/10/28(日) 19:25:59.68:vBzuIBdia それもチェックしてたわ。 済まんかったね。 うーん。。。 なんて言うのかな。。。 こう言うの作ってて、ここが上手くいかないみたいな質問自体が来ないのかな。 最近だとpythonスレとかが来てる方か。 うん分かった。 もうロムるわ。 : デフォルトの名無しさん (ワッチョイ e33f-7TBo) [sage] 2018/10/28(日) 19:44:14.25:lBJoUXxI0 高度な話がしたければすればいいだろう みんなダンマリなんて嘘こいてないで てめーがコード1つ示さない低劣野郎なくせに スッパマンみたいな威張り方してんじゃねえよbogus : デフォルトの名無しさん (ワッチョイ 73d5-nh9x) [sage] 2018/10/28(日) 19:45:11.99:W0+pPBsw0 お題なんてなんでもいいじゃん。 これだっていい。 最短、最速、なんでもいいからコードでアピールしてみたら。 : デフォルトの名無しさん (ブーイモ MMbf-JP9K) [sage] 2018/10/28(日) 20:31:14.33:3WxjgzdCM とっくに結論出てる事にすら気づいてない知能の奴が高度な話題とか何とか言ってるのかw : デフォルトの名無しさん (ワッチョイ 5b9f-7TBo) [] 2018/10/28(日) 22:02:27.19:D9Gt7gmT0 次スレ C言語なら俺に聞け 149 ttps://mevius.5ch.net/test/read.cgi/tech/1540731704/ : デフォルトの名無しさん (ワッチョイ 23f9-DNnX) [sage] 2018/10/28(日) 23:07:01.51:o1iiiQzo0 本人か? あれは質問スレでお題なんてそもそもスレ違いであること、お題としても興味をそそられないつまらない内容であること、1日レスが付かなかった程度でその後の痛々しい反応など、スルーされる要素てんこ盛りで当然の結果だろう。 : ◆QZaw55cn4c (ワッチョイ 9360-278X) [sage] 2018/10/28(日) 23:49:52.62:0CAv0Ngu0 >1日レスが付かなかった程度でその後の痛々しい反応 こういうのは、何度となくやって、手ひどく罵倒されでもしないと、なかなか身につきませんね スルー力も大事だし、スルーされることに耐える能力も必要です… : デフォルトの名無しさん (ワッチョイ 0781-HyCk) [sage] 2018/10/28(日) 23:53:10.11:2a8cvg/h0 やはりそうだよね どこが問題なのか、よく分からないでいた : デフォルトの名無しさん (ワッチョイ 0781-HyCk) [sage] 2018/10/29(月) 00:28:01.98:OYdZGMPI0 あとちょっとで終わるから、埋め草 設問が今一分からないんだよね 合計を求める←これは問題の範囲にはないよね 1から順に足していって140まで、 その答えを順に表示しろって事かな?まさかね 合計値を文字列に変換する←何進数か分からない 最後に4桁ってあるから多分10進数でいいんだろうけど 16進数なのかもしれない (4〜7行目は意味が不明なので読み飛ばした) 保存場所の間違いって何? 客からこんな依頼きたら、頭が変になりそうw : デフォルトの名無しさん (ワッチョイ 73d5-nh9x) [sage] 2018/10/29(月) 01:57:31.15:X3/iEvqW0 除算とその余りで桁を分離できる大発見をしたので、それを解説するためのお題を出しただけでしょ。 情報処理勉強してる学生かな。 プログラム的に役に立つ発見ができて良かったじゃない。 おれも中学生くらいのときにじゃんけんの勝ち負け判定は剰余を使うとシンプルに書ける大発見をして心踊ったもんだ。 : デフォルトの名無しさん (ワッチョイ 1d80-SUE8) [] 2018/10/29(月) 21:32:29.11:JGxixszg0 ttp://https://www.google.co.jp/search?q=140*%28140%2B1%29%2F2 なにもせずとも表示できたわ
凡例:
レス番
100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている
名前
名無しさん (青) → sage のレス
名無しさん (緑) → age のレス
ID
ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID
このページは2ch勢いランキング が作成したアーカイブです。削除についてはこちら 。