1 名前:デフォルトの名無しさん [2018/09/19(水) 17:56:50.83 ID:XSTNMnDwa.net] C言語の話題のみ取り扱います C++の話題はC++スレへ 質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C11 www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C99 www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf kikakurui.com/x3/X3010-2003-01.html C FAQ 日本語訳 www.kouno.jp/home/c_faq/ JPCERT C コーディングスタンダード https://www.jpcert.or.jp/sc-rules/ ※前スレ C言語なら俺に聞け 147 mevius.5ch.net/test/read.cgi/tech/1534430162/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 18:46:51.43 ID:5wa+YDhW0.net] JPCERTに書いてある > DCL12-C. 抽象データ型は opaque な型を使って実装する これ、言葉遣いが JIS に準拠してないね - opaque な型 + 不完全型
3 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 18:51:06.87 ID:SdGhFMnDa.net] おぱきゅー
4 名前:さまよえる蟻人間 mailto:sage [2018/09/19(水) 18:52:22.93 ID:sSjeJI6sd.net] おぺいきゅー
5 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 20:53:36.31 ID:6LbAKjXm0.net] あのね opaque を「おぱきゅー」と読むとね、 中がどうなっているか見えないって感じがヒシヒシ伝わるんだよ。
6 名前:デフォルトの名無しさん [2018/09/19(水) 21:01
] [ここ壊れてます]
7 名前::51.92 ID:zcXFtBV7a.net mailto: opaque音頭 [] [ここ壊れてます]
8 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 21:10:39.04 ID:kKUGVzPQ0.net] ドラハッパー?
9 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 21:40:07.01 ID:aiIpKBDGM.net] >>5 寧ろ向こう側が透けて見えて意味を取り違えそうな…
10 名前:デフォルトの名無しさん [2018/09/19(水) 21:46:14.52 ID:zcXFtBV7a.net] 透けるトン
11 名前:デフォルトの名無しさん [2018/09/19(水) 22:44:21.77 ID:xLP4ypV20.net] おおきいおっぱいを占領する
12 名前:デフォルトの名無しさん [2018/09/20(木) 12:33:56.62 ID:irJ5n1n9a.net] おっぱいがキューイングされてる状態だろ
13 名前:デフォルトの名無しさん [2018/09/20(木) 12:46:40.86 ID:rEtRtbV+a.net] キューは口を尖らせて発音
14 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 13:32:01.11 ID:6Uvn6M6wH.net] 俺氏、マジレスするタイミングを完全に失う
15 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 14:06:56.92 ID:4xeYkQf2a.net] 不可視を不完全と呼ぶのはちょっと良くないと思うわ まあ視点が違うんだけども
16 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 15:50:43.96 ID:kJMlDz7M0.net] ピンプル的な意味で「見えない」なら合ってんじゃん
17 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 19:19:48.48 ID:fVTsYrUH0.net] みんなmusl libcとか使ってたりする? プロジェクトの内容だけみると けっこう良さげなんだけど あまり日本語の情報を聞かないし 実際はglibcとかが大半なのかな。
18 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 11:19:07.18 ID:7KdLYb7A0.net] CはGNUが9割
19 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 17:35:46.83 ID:r4ObfaEn0.net] c言語本格入門のリスト構造(単方向リスト)が理解できず困っています。 書籍には図を書けば理解できるとあり、ソースにprintf関数をところどころに入れて、ポインタの動きを追いかけていたのですが、余計こんがらがってしまいます。 他のサイトや他者の質問が掲載された掲示板なども参考にしましたが、さっぱりわかりません。 図を描いても理解には繋がりません。 プログラムは250行くらいあり、掲載出来る様なサイトがあれば誘導お願いします。 ポインタの*ptr_now、*ptr_before、*ptr_new の動きと役割が理解できれば、前に進めると思うのですが、知恵を貸して下さい。
20 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 17:44:45.17 ID:TewjjbP30.net] >>18 サイトは>>1 にあるのを使えばいいよ
21 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 17:46:57.36 ID:DzWt0PfVa.net] nowが今いる所でbeforeがさっきいた所でnewが新たに作る所?
22 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:05:52.26 ID:r4ObfaEn0.net] >>18 now と before は作業用領域で、newは名前とかを格納しています。
23 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:39:31.34 ID:FeY49FdEM.net] >>18 とある位置に新しいデータを挿入するサンプルコードなんじゃないか? newが新たに挿入しようとするデータのアドレス、 nowが挿入先の直後のデータのアドレス、 beforeが挿入先の直前のデータのアドレス。 (単方向リストへのデータ挿入は新しいデータを挿入する位置の前後のデータのアドレスが必要のため) ところでnowってスケジュールリストか何かなのか
24 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 18:44:04.65 ID:M1mNaNG00.net] >>18 努力しているようだが、色々おかしい。 > ソースにprintf関数をところどころに入れて、ポインタの動きを追いかけていたのですが ポインタの『動き』ではなく、ポインタの『中身』を追いかけろ。 ポインタは自然言語で言う「ポイントする(指し示す)もの」でしかないから、 正しい物を示しているかどうかだけであって、 それはポインタ自体ではなく、『中身』を見ないと判定出来ない。 > 単方向リスト > *ptr_now、*ptr_before、*ptr_new 単方向リストならポインタは一つだけだし、 > now と before は作業用領域で、newは名前とかを格納しています。 名前の付け方が絶望的におかしい。 多分君の理解が間違っているだけだと思うが、 もしその理解が正しくて、ガチでこんな名前を付けているソースなら、 その本は今すぐ捨てるべきだ。 これはソースを上げれば誰かが見てくれるだろう。 (多分>>22 が当たりだろう) 当たり前だが、 1. まず、0,1,2,3... とリストに入れて、それを表示(リストアップ)出来る関数を作れ。 2. 次に、その関数を用いて、挿入等したとき、期待通りにリストアップ出来るか確認しろ。 3. それでバグっているようなら、その後でいちいちIDE等で止めてポインタの値を確認するんだよ。 多分お前はデバッグの仕方もおかしい。 ただまあ正直なところ、このレベルの初心者ならリストなんてどうせ使わないし、 スキップしても構わんぞ。いちいち全部やらなくてもいい。 そんなことより、ゲームを作りたいのならそのゲームを作る方向目指してコーディングしろ。 そのうち、ポインタ等の意味も分かってきて、今回の問題なんて自然に解決出来るようになる。
25 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 19:29:46.56 ID:820RD++bM.net] いちいちそんなに長文で噛み付くようなことか?
26 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 19:50:07.83 ID:M1mNaNG00.net] >>22 ちなみに細かいようだが、 > (単方向リストへのデータ挿入は新しいデータを挿入する位置の前後のデータのアドレスが必要のため) 実際の所、単方向リストなら struct List { T value; // または T* ptr; T* next; }; だから、ループは now と next だけで構成しないと筋が悪いんだけどね。 ソート済みリストでデリミタがヌルポなら、 while (now->next && value <= next->value) now = next; // 同値なら挿入順 で now を確定させ、now と next の間に挿入する。 nowは「今」、newが「新」として、beforeは余計だね。 何かの説明をする為なのだろうけど、余計におかしくなってる。 (挿入するのは『nowとnext』の間であって、『beforeとnow』の間ではない)
27 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 19:54:01.86 ID:7TX+3hKV0.net] そもそもポインタ自体分かってない説
28 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 19:58:44.97 ID:M1mNaNG00.net] >>24 駄目な事を駄目だとはっきり言っただけだ。 怒られたことのないゆとりには噛みついているようにしか見えないのかもしれないが、 このレベルの駄目っぷりを駄目出ししてもらえない方が問題だろ。 これが許容出来ないのなら、コテハン制の他サイトに行けよ。 どんなアホな投稿でも優しく教えてくれるだろうさ。 ただそれが本人の為になるかどうかはまた別だが、ゆとりにはお似合いだ。 右も左も分かってない馬鹿なんだから普通にIDE使えよ。 printfデバッグなんて(IDEが有料だった昔はさておき) 今のそのレベルの初心者がやるもんじゃない。 まあしかし、お前がそういうのならお前が導いて見せろ。 出来もしないのに文句だけ言うのもゆとり
29 名前:フ特徴だとも思うがね。 [] [ここ壊れてます]
30 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 20:02:21.86 ID:M1mNaNG00.net] てゆーかマジな話、250行って何だよ? 27のリストなら精々50行だろ。 色々根本的におかしい。 本ではなく、18が根本的に間違ってるんだと思うが。
31 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 20:16:03.47 ID:7TX+3hKV0.net] >>21 名前ってまさか構造体の名前じゃないよね・・?
32 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 21:44:03.41 ID:JP8I8TZy0.net] >>18 その250行と、printf() を入れてみたけれどもうまくいかなかった、という printf() の挿入場所をこちらに貼ってください https://ideone.com 話はそれから
33 名前:デフォルトの名無しさん [2018/09/21(金) 22:15:10.02 ID:ZlhIYDcEa.net] うまい釣りだ。このままじらしてじらしていつまでもソースを公開しなければこのスレは活性化して書き込みで溢れあっという間に3スレぐらい消費するだろう。流石としか言いようがない。
34 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 22:19:08.59 ID:7TX+3hKV0.net] 悔しいでも書き込んじゃう
35 名前:デフォルトの名無しさん [2018/09/22(土) 00:33:04.56 ID:PGp2AKzL0.net] 低学歴知恵遅れには質問の意味が理解できない 普通に質問の内容を再現すればだいたいこうなる 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;
36 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 01:01:16.23 ID:16ZpsTnK0.net] >>33 お前も絶望的にダサいコードを書くな。 追加なら、 > ptr_before = ptr_now; > ptr_now = ptr_new; > ptr_before->next = ptr_now; ではなくて、 ptr_now->next = ptr_new; ptr_now = ptr_new; だろ。 つか、単方向リストで before を使う時点で間違い。
37 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 01:01:57.05 ID:alaCe2UCM.net] で?ってゆう
38 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 01:22:57.20 ID:e+ifojdT0.net] 遅くなりました。 ソース貼ります。 https://ideone.com/0kDpw1
39 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 01:42:06.64 ID:16ZpsTnK0.net] >>36 マジでIDE使え。 そして貼るときはlanguageをCにしとけ。シンタックスハイライトが変わるから。 で、どれが分からんの? > enter > find > delete > show_all > delete_all mainはこの際分からなくていい。 最初に理解しないといけないのは show_all だ。 ただし細かいことを言ってもキリがないが、 > void show_all(void) なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? さらに酷いのは show_all 内でグローバル変数 address を掴んでいること。 普通は void show_all(tag_address* ta) だよ。 そうじゃないと複数のリストがあったときに使い物にならないだろ。 マジな話、このソースのレベルの本なら捨てた方がいい。 俺は大学の教材がいいと思うぞ。 (読んでないが)リストならググったら東工大とか出てきた。 www.is.titech.ac.jp/compview/clang/chap11.html
40 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 01:44:45.64 ID:WyfQotM3a.net] voidはアリだぞ。 仕事だとなぜかvoidを書けと言われるわ
41 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 01:50:27.24 ID:6j6Aecxq0.net] >>37-38 void show_all() が引数無しの意味になるのはC++。 Cだと show_all(...) と同じ意味になって何渡してもコンパイル通っちゃうからあぶない。
42 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 01:54:37.82 ID:16ZpsTnK0.net] >>38 マジかーと思って linux kernel のコード見たが、書いてるな。 そして K&R 見てみたら、なんとこれも書いてた。 旧来の記法なら書くのが正しくて、物によってはコンパイル通らないとかか? とにかく、 void がクソだというのは取り下げる。 >>39 > Cだと show_all(...) と同じ意味になって何渡してもコンパイル通っちゃうからあぶない。 マジ?今まで聞いたこと無かったわ。 しかし ( ... ) と同じ意味なら例の va_list を使う糞コードになるから、 コンパイラのチェックが甘くなるとはいえ、間違って使うって事はなさそうだが。 まあとにかくありがとう。
43 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 02:29:56.24 ID:16ZpsTnK0.net] >>36 何度も言ってるがマジでIDE使え。 次にマジでこの本はソースがおかしいから捨てた方がいい。処理のフローがクレイジーだ。 何かおかしな規約に沿って書いているように思える。 178-205行目は、普通なら以下。 while(ptr_now != NULL && no >= ptr_now->no) { if (no == ptr_now->no) { if (address == ptr_now) address = ptr_now->next; else ptr_before->next = ptr_now->next; free(ptr_now); return 0; } ptr_before = ptr_now; ptr_now = ptr_now->next; } return -1;
44 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 02:55:23.92 ID:16ZpsTnK0.net] >>36 ちなみに一応ちゃんとポインタで書いておくと、以下な。 whileの条件は分けた方が分かりやすいか? 書き込みターゲットは一つに纏める。 int delete(int no, tag_address* ptr_now) { tag_address** ptr_tgt = &ptr_now; while(ptr_now != NULL) { if (no == ptr_now->no) { *ptr_tgt = ptr_now->next; free(ptr_now); return 0; } if (no < ptr_now->no) return -1; ptr_tgt = &ptr_now->next; ptr_now = ptr_now->next; } return -1; }
45 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 02:56:59.96 ID:16ZpsTnK0.net] すまん、42は間違い。 引数を&で受けても意味無いな。書き直す。
46 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 03:03:32.99 ID:16ZpsTnK0.net] >>36 、42の訂正版 int delete(int no, tag_address** ptr_head) { tag_address** ptr_tgt = ptr_head; tag_address* ptr_now = *ptr_head; while(ptr_now != NULL) { if (no == ptr_now->no) { *ptr_tgt = ptr_now->next; free(ptr_now); return 0; } if (no < ptr_now->no) return -1; ptr_tgt = &ptr_now->next; ptr_now = ptr_now->next; } return -1; } 君には余計に分かりにくくなったかもしれないけど、こんな感じ。 まあ頑張れ。
47 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 03:13:04.00 ID:16ZpsTnK0.net] >>36 enter関数も作りがおかしい。 25で言ったとおり、 > (挿入するのは『nowとnext』の間であって、『beforeとnow』の間ではない) このソースは before と now の間に挿入しており、明らかに間違ってる。 マジでこの本はゴミだから捨てろ。
48 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 03:44:08.18 ID:wyOkhzEz0.net] まあいいんじゃね? 処理内容毎に塊を分けて上から順番に並べているのは他人にわかりやすく説明するために都合がいいのだと思う。 きっと書籍では、N行目からM行目まではこんなことをしてます、とか、塊毎に処理内容のコメントが記述されてるのではないかと思う。
49 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 04:34:50.74 ID:16ZpsTnK0.net] >>46 いやこれはさすがにアウトだろ。 実際部下にこのコード出されたら絶句するだろ。 178行目と194行目のヌルチェックなんてダブってるし、マジで意味無い。 頭が悪い奴が一生懸命書いたコードだぞこれは。手本にするには酷すぎる。 delete関数は筆者には難しすぎて、異常系を一つずつ外して行ってるから無駄にダブってる。 だけどこの規模でこれだと絶望的だろ。 マジでこの本は捨てた方がいい。 18が読めないのは18の技量の問題だけど、 読みやすいコードと読みにくいコードというのは実際にあって、 要するに腕前がいい奴が書いたコードは一般的に読みやすく、下手くそが書いたコードは読みにくい。 (勿論高速化等かけた場合は若干読みにくくなるが) 頭が悪いのなら、関数を分けて分割すべきであって、 breakして下に無理矢理繋げているから意味不明なコードになる。 なお高速コードは以下。 int delete(int no, tag_address** ptr_head) { tag_address** ptr_tgt = ptr_head; tag_address* ptr_now = *ptr_head; while(ptr_now != NULL && no >= ptr_now->no) { ptr_tgt = &ptr_now->next; ptr_now = ptr_now->next; } if (ptr_now != NULL && no == ptr_now->no) { *ptr_tgt = ptr_now->next; free(ptr_now); return 0; } else return -1; }
50 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 06:34:42.89 ID:Ot5g8EvkM.net] もともこもないこというけど カーネルの list.h 使え
51 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 08:07:18.41 ID:MIXlgiXZd.net] 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)みたいな感じで返すプログラミングの書き方の例を教えてください
52 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 08:20:30.08 ID:QxjPpR9VM.net] >>39 が言ってることすら知らないID:16ZpsTnK0が偉そうに講釈たれてて笑うわ
53 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 08:21:44.04 ID:d4QseA9MM.net] >>49 その例だと目的が分からないから、 それを何に使いたいのか具体例で書いてくれ。
54 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 08:32:14.74 ID:Yqnou5lg0.net] >>45 このソースでは「beforeとnowの間にnewを挿入」するenter()で正しく動作するね。 リストの定常状態で、各要素はメンバnoの値で昇順整列している。 ポインタnextのつなぎ換えをする時点で、 beforeのnoは新要素のnoより小さい、nowのnoは新要素のnoより大きい、 よって new->next = now, before->next = new と格納すれば before->no < new->no < now->no の順序が維持される。 ただし境界条件(リストの端っこの処理)はここでは考えていない。 変数やメンバの命名をもう少し工夫すれば…と思うけど。 この投稿を書いててnewとnow、メンバnoで混乱してきた。
55 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 08:58:29.84 ID:bcuOiC7Q0.net] リスト操作に特化した関数を作ればいいのに リスト操作といろんな処理を混ぜ込むから見通しが悪くなってる 教育目的ならなおのこと美しく書かないといけないのに
56 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 09:02:41.93 ID:l48TeZqd0.net] >>37 >> void show_all(void) > >なんだこれ?引数 void って初めて見たぞ。文>法的にありなのかこれ? この程度の知識でも偉そうに講釈垂れる事が出来るのがこのスレです
57 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 09:35:47.75 ID:7nPJqZuh0.net] ワロタ
58 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 09:48:51.25 ID:16ZpsTnK0.net] >>52 そりゃ糞コードでも動くだろうさ。 しかし教科書でこれはない。マジであり得ないくらい酷い。 必要のない変数を作って保持してるだろ。 走査は25に書いたとおり、(書き落とした点を修正するが) while (now->next && value <= now->next->value) now = now->next; でやるんだよ。そうすれば now と next だけの世界で済む。 enter()も頂けない。これは>>53 の指摘通り、 int insert(tag_address* ta) と tag_address* make_new_element(int no, char* name, char* addr) に分けないと駄目だ。 マジでここまで酷いのはなかなか見かけないくらい酷い。 部下がこんなコード書いたら当然突き返す会社が大半だと思うぞ。 例も酷い。これは List ではなく SortedList だし、 そもそもこれをやりたいのならCではなくC++でやるべきだし。
59 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 09:49:43.97 ID:16ZpsTnK0.net] >>54 そこで俺叩きに転じてるのが逆に、お前が馬鹿である証拠だ。 このコードは擁護のしようがないくらい酷い。ど素人でもここまで酷いコードは書かない。 お前にはそれが分からないから俺を叩こうとしてる。 お前みたいな初心者は文法のことばかり気にするが、文法の細かいところは本当に関係ないんだよ。 俺はC++コンパイラを使っているから>>39 は関係なかったし、 >>38 はそうじゃないから void を書くルールになってるんだろ。 そういうもんなんだよ。 文法的に問題があるケースはルールで禁止されてるか、環境で対策されてる。 まあ俺に文法知識が欠けているのは事実としても、この本がゴミなのは揺るがない。 理由は筆者が馬鹿だから、だから、マジですぐに捨てて他の本/サイトを参考にした方がいい。 嘘だと思うのなら、この事を覚えておいて、 数年後、お前らが上達してからもう一度このコードを見直して見ろ。絶句するから。
60 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 09:56:21.04 ID:16ZpsTnK0.net] ちなみに余談だが K&R の良い点は、糞コードがないこと、余分な表現がないこと、なんだよ。 無駄を限界まで削ぎ落とした、極めて上質なコードが掲載されている。 筆者が頭が良く、一流のプログラマだからだ。 実際の所、入門書は総じてゴミだ。 これは入門書を書く奴は一般的に一流のプログラマではないからだ。 だから入門書のコードはマジで参考にしない方がいい。 今回のは特に。 お前らが上達すれば、このコードの酷さが分かるようになるだろうさ。 今回の顛末を覚えておいて、数年後に見直して見ろ。マジで。
61 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 10:10:07.07 ID:l48TeZqd0.net] >>57 うんそだね〜 でもどんな言い訳してもここはC言語スレだしCプラプラコンパイラと言えどCの文法書けるわけだし 初心者に偉そうに講釈垂れるならCの最 低 限の文法くらい知ってた方がいいよ
62 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 10:24:01.19 ID:16ZpsTnK0.net] >>59 ならお前も18に対して何か為になるレスをしてから言えよ。 お前が俺に粘着する理由が分からん。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
63 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 10:24:32.03 ID:7nPJqZuh0.net] たった2レスで粘着 w
64 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 10:35:54.62 ID:a9vdXzW90.net] >>56 これをやりたいならC++でやるべき、って C言語の入門書のコード例なのに何を言ってるんだ?
65 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 10:42:23.12 ID:AEsgMTAW0.net] かまってちゃんなんだろう、相手してもらって嬉しそうだ
66 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 10:42:23.23 ID:16ZpsTnK0.net] >>61 そりゃそうだろ。 俺が文法を知らなかったことは本筋とは関係ないし、 実際、お前ら以外気にしてないだろ。 お前らは役に立つレスを全くしてないし、ただの粘着荒らしでしかない。 なお>>39 、知ってるかもしれんが以下だそうな。 > C99にて廃止予定機能となった。C11でどうなったかは不明 d.hatena.ne.jp/eel3/20141005/1412521223 仕様に詳しい人よろしく。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
67 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 10:45:11.54 ID:16ZpsTnK0.net] >>62 その点は既にC++で対策されてるから。 書けば分かるが、その例のSortedListなら、C++で書いた方が綺麗に書ける。 C++はその点を対策した言語なのだから、当たり前だが。
68 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 10:54:19.57 ID:BuG7Fz7K0.net] 連投ウザ。
69 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 10:56:24.32 ID:rjQGIIPhM.net] >> void show_all(void) > >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? 以下のコード見たことありまちゅか〜?wwww #inlcude <stdio.h> int main(void) { printf("Hello World!"); return 0; }
70 名前:デフォルトの名無しさん [2018/09/22(土) 11:02:28.11 ID:PGp2AKzL0.net] こういう簡単なコードの書き方なら 喜々として低学歴知恵遅れのシロウトが喜々として一杯よってくる
71 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 11:09:05.39 ID:16ZpsTnK0.net] つか、粘着馬鹿共は誰も役に立つことを言えてない件。 お前らが俺に粘着する意味は何なんだ? なお>>18 、一番近いのは std:forward_list でソース例は以下だが、 https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/bits/forward_list.h 毎回思うがGNUは別の意味で読みづらいから(マクロまぶしすぎ) 今の君には無理だが、可能ならこれを読んだ方がいい。最終的な目標にしとけ。 >>37 で既に示した東工大、斜め読みしたが、 1. before 関数 を使って list_add 関数を修正して p の「直後」に挿入 2. before 関数 だから明らかにこっちの方が筋がいい。 2の意味は分からないだろうが、これはコンパレーターであり、関数ポインタに繋がる。 こちらはそもそも教育の現場、やはりちゃんとしている。 こっち使った方がいいと思うぞ。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
72 名前:デフォルトの名無しさん [2018/09/22(土) 11:10:50.53 ID:PGp2AKzL0.net] 低学歴知恵遅れはこの程度のコードしか 理解できないのがよくわかるわ
73 名前:デフォルトの名無しさん [2018/09/22(土) 11:13:00.76 ID:PGp2AKzL0.net] まず質問と関係ない内容で喜々として得意になってレスしてる こういう簡単な内容ならめっちゃ元気
74 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 11:25:44.82 ID:16ZpsTnK0.net] ああ、そういえば一応>>18 には直球で返した方がいいか?なら、 *ptr_now:今エレメント *ptr_before:前エレメント *ptr_new:新エレメント であり、まんまそのままだ。 ただ、単方向リストで before は履歴が必要だから、このコードは筋が悪い。 単方向リストなら、出来る限り、 *ptr_now:今エレメント *ptr_next:次エレメント で構成されるべきで、この場合には履歴が要らないからより単純なコードになる。 そして東工大はそうだからそっちを参考にしろ、というわけ。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
75 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 11:39:44.40 ID:i0ViPFTS0.net] やっと気づいた w
76 名前:デフォルトの名無しさん [2018/09/22(土) 11:41:41.67 ID:PGp2AKzL0.net] コードがどういう書かかたされてるとか 質問してるヤツは一切してないからな コレは低学歴知恵遅れの自分が理解できてる範囲のことを コレは低学歴知恵遅れがひたすら連騰してるだけだからな つまりこの質問ではどうでもいいただのコードの書き方 質問してるヤツはどういう動作をして どうデータが格納されてるかを質問してる 低学歴知恵遅れはなんでまともに日本語が読めないわけ まともな教育とは思えないわ。。。
77 名前:デフォルトの名無しさん [2018/09/22(土) 11:45:02.82 ID:PGp2AKzL0.net] (正)まともな教育を受けてるとは思えないわ。。。 (誤)まともな教育とは思えないわ。。。 つまり まともな教育を受けてない低学歴知恵遅れが このスレにきた初心者にえらそうにしてるわけ わかる?
78 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 11:47:39.15 ID:16ZpsTnK0.net] >>73 てかマジでこれが助けになると思ってるのか? お前もしかして18なの? なら絶望的に頭悪いし、プログラミングなんて止めた方がいい。 そしてもしこの回答を得る為にひたすら単発で煽っていたのなら、マジでウザイから止めろ。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 >>74 ならお前が回答してやれよw お前も回答出来ただろうし、お前はそれが役に立つと思ってたんだろ。
79 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 11:51:25.42 ID:N6pdG9BDM.net] よくわからんけどその本の後の方の章でそのコードを改良して双方向リストの説明でもしてるんじゃないの? 入門書とかだとよく前の章のコードの説明を元に段階的に説明していく場合があるけど
80 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 11:51:52.67 ID:rjQGIIPhM.net] ファイッwww
81 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 11:57:35.70 ID:AEsgMTAW0.net] ID:16ZpsTnK0 はNGでええやろ
82 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 11:57:50.23 ID:16ZpsTnK0.net] >>77 双方向リストでもこの意味分からん処理フローにはならないし、 関数ポインタを見据えている東工大の方が数段筋がいいよ。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
83 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 12:19:33.32 ID:ZMLQwSgJM.net] 入門書だぞ? 汎用性や高速性なんて二の次どころか入門書では不要かもしれない。 ポインタの理解も危うい段階でダブルポインタとかlist.hを提示するとか狂気の沙汰だわ。 もしもID:16ZpsTnK0が入門書を書いたらいきなりハードモードでそれこそ役に立たないから即捨て間違いないわ
84 名前:デフォルトの名無しさん [2018/09/22(土) 12:30:11.20 ID:PGp2AKzL0.net] こんな簡単な質問の回答能力があるヤツはいないか まずenter()関数をみなさい まず一回目のenter()で動く箇所はココになる while (ptr_now != NULL) { ・・・ ← ココ } if (address == NULL){ ・・・ ← ココ } それ以外は 一回目と一回目以外、enter()では同じ
85 名前:デフォルトの名無しさん [2018/09/22(土) 12:31:13.43 ID:PGp2AKzL0.net] 次にココをみなさい if (no < ptr_now->no) { break; } if (address->no > ptr_new->no){ address = ptr_new; printf("address(enter)=%p\n", address); } ココでなにやってるか 次に考えなさい
86 名前:デフォルトの名無しさん [2018/09/22(土) 12:40:05.82 ID:PGp2AKzL0.net] https://ideone.com/F3xZFe >>36 のコードをCのコードの設定にしてやったから まずenter()とshow_all()の結果をみなさい
87 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 12:53:15.25 ID:16ZpsTnK0.net] >>81 ならお前がまず何か役に立つ回答をしてから言えよ。 お前だって > *ptr_now:今エレメント > *ptr_before:前エレメント > *ptr_new:新エレメント は回答出来ただろうに。(何故か>>73 には感謝されてるようだし) 半角君は少なくとも自分で説明しようとしている分、お前ら粘着単発馬鹿共より数段ましだぜ。 ダブルポインタ云々ではなく、18はまず、 1. リスト構造自体を理解出来ていない 2. 多分ポインタも怪しい 3. そもそも全くプログラムが追えてない だから、IDEで全関数の頭にブレークポイントで気が済むまでステップ実行させるべきだろ。 printfデバッグなんて何でこいつがやる必要があるんだ? このレベルの入門書ならIDEの使い方から教えるべきだろ。 そして教科書のコードはそれとなしに汎用性があるコードであるべきなのさ。 東工大はこれを満たしてる。この本は全然駄目だ。その違いだよ。 勿論東工大は最初からEcilpse + CDTだ。 www.is.titech.ac.jp/compview/clang/chap1.html 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 ただマジな話、18はプログラミングは全く駄目なタイプだと思うぞ。 数学の素養/素質がない奴は、努力しても上達しない。 プログラミングは暗記で対応出来るものではないから。 プログラミング自体を止めた方がいいと思うよ。マジで。
88 名前:デフォルトの名無しさん [2018/09/22(土) 12:59:10.11 ID:PGp2AKzL0.net] printfで十分わかるからな IDEは低学歴知恵遅れに必要
89 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 12:59:52.28 ID:rjQGIIPhM.net] >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? 👀 Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
90 名前:デフォルトの名無しさん [2018/09/22(土) 13:02:56.96 ID:PGp2AKzL0.net] むしろ ID:16ZpsTnK0 ← コイツ が一番プログラミングに向いてない その自覚がない しかも相当自分の頭の悪さの自覚がない 致命的
91 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 13:09:23.43 ID:ymnIe1Eqa.net] 説明が下手なのは無能の証というね
92 名前:デフォルトの名無しさん [2018/09/22(土) 13:10:24.37 ID:PGp2AKzL0.net] そもそもデバッグライトは プロのプログラミングの世界では重要な技術要件だからな 問題が発生したとき 速やかに問題点の発見ができるようにする助けになるのが デバッグライト 問題が発生したとき まずデバッグモードでコンパイルしてデバッグライトの出力して なぜ問題が発生しているか原因をすみやかに発見する 幾重にも重なった巨大なシステムになるほどデバッグライトの出力は重要になる 役に立つわかりやすい適切なデバッグライトを書けるか書けないかで だいたいそいつのオツムの程度が分かる
93 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 13:12:16.17 ID:Yqnou5lg0.net] 今日はいつもの「低学歴知恵遅れ」の人 ID:PGp2AKzL0 と 新たに登場した ID:16ZpsTnK0 の東工大ファンの人がいるのか。
94 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 13:12:58.27 ID:UXUgdVRN0.net] 捨てろ連呼ウゼエw
95 名前:デフォルトの名無しさん [2018/09/22(土) 13:16:47.33 ID:PGp2AKzL0.net] さらにいえば低学歴知恵遅れに作らせると 一切ログが出力されない知恵遅れなシステムになる エラーとしか出力されない もしくはエラーが発生してハズなのに正常終了して 停止せずに次の処理にいってしまう
96 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 13:21:17.50 ID:sYLo1So00.net] voidとIDE…… Java上がりか?
97 名前:デフォルトの名無しさん [2018/09/22(土) 13:24:22.34 ID:PGp2AKzL0.net] オレの説明はカンペキだからな
98 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 13:28:52.60 ID:16ZpsTnK0.net] 一応東工大の全部読んだぞ。 俺は東工大の教材の方がずいぶんましだと思うが。 概ね初心者向けによく書けてる。(当たり前だが) > int main() { > struct schedule* list = NULL; > list = list_add(list, 2009, 1, 1, 0, "元旦"); 毎回書き戻すこのインタフェースについては若干検討の余地ありだけども、 ダブルポインタも難しいというのならこれでも致し方無しか。 ただこれだとインミュータブルの言語では複数ヶ所から使用出来なくなる
99 名前:ゥら、 やはりオブジェクト指向で list->add() と書く癖を付けた方がいいし、 リストなんて使いたければ素直にC++使えってことだと思うけどね。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。 まあ>>36 のコードのゴミっぷりが分からないうちは大口叩くのは止めとけ。 そしてこれを覚えておいて、数年後に見直してみろ。 俺が何言ってたか分かるから。 >>91 ファンではないぞ。偶々ググったらヒットしただけ。 ただ、概ね大学の講義資料は良く出来てるよ。 これまでも、他大学を含めて何度もURL貼ったことがある。 (良く出来ているのが検索上位に来るだけかもしれないが、 それでもそれを有り難く利用させてもらえばいい) [] [ここ壊れてます]
100 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 13:29:39.28 ID:c//Edh7FM.net] >>85 えー、あなたより先にそれ答えたけど。 単発idはnvno業者のせいなんで文句言われても困る。 ちょっとポインタで躓いたくらいでやめたほうがいいとかどんだけハードル高いんだよ。 あなたは下っ端が向いてそうだから間違っても後輩の教育係にはならんようにな。
101 名前:デフォルトの名無しさん [2018/09/22(土) 13:30:53.14 ID:PGp2AKzL0.net] まずオマエの場合、 自分がゴミでクズの低知能の低学歴知恵遅れの自覚がない そこが問題 講義用のプリント読んでもその程度だからな
102 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 13:31:56.76 ID:a9vdXzW90.net] とりあえず、人に説明するのにやたらと攻撃的だったり高圧的だったりする奴は向いてないな。
103 名前:デフォルトの名無しさん [2018/09/22(土) 13:33:54.35 ID:PGp2AKzL0.net] 低学歴知恵遅れがなにも理解できてないのに 分かったつもりになれる そういう意味で東工大のプリントは優秀
104 名前:デフォルトの名無しさん [2018/09/22(土) 13:40:00.87 ID:PGp2AKzL0.net] 最近話題の池上と似ている 頭悪い池上のいってるどうでもいいことや池上の本を読んで なんか分かった気になれるのととても似ている
105 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 13:42:35.36 ID:16ZpsTnK0.net] >>97 お?お前のレスってどれ? とりあえず本日分全部言って。(IDと同じ条件になるように) 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
106 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 13:43:22.87 ID:WyfQotM3a.net] まあこういうのは結局かけた時間だから。 同じこと繰り返しててもあかんけどね
107 名前:デフォルトの名無しさん [2018/09/22(土) 13:47:10.22 ID:PGp2AKzL0.net] まずオマエはな 本格的なプログラミングより 自分の本格的な頭の悪さを自覚したしたほうがいい
108 名前:デフォルトの名無しさん [2018/09/22(土) 13:49:03.34 ID:QTHsDkPYM.net] やっぱC++は糞だな 信仰してるやつ含め
109 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 13:49:39.33 ID:16ZpsTnK0.net] >>97 > ちょっとポインタで躓いたくらい ではないぞこれは。 そして俺の経験上、プログラミングは A. 勝手に上手くなる B. 徐々に上手くなる C. 全く上手くならない(本人が努力してても) のタイプがいる。以前は不思議だったのだが、最近だんだんとこの理由も分かってきた。 で、悪いが、18はCタイプだ。 というかそもそも昨今の「全国民がプログラミングを」みたいなのが間違ってて、18はそれの被害者だ。 と見てるからの助言だが、君が18を正しく導けるならどうぞやってみてくれ。 それについて俺が反対する理由もないし。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
110 名前:デフォルトの名無しさん [2018/09/22(土) 13:52:47.31 ID:PGp2AKzL0.net] デバッグライトすら書けないヤツが 自分が十分なプログラミングができると思い込んでるわけ 典型的なダメな使えないヤツの典型だからな オマエ自身が向いてないまず自覚をもつが先だ とてつもない低学歴知恵遅れで底辺である自覚ももつべき
111 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 13:58:31.83 ID:16ZpsTnK0.net] >>105 C++は最近は迷走中だが、少なくとも改善版Cであることは事実なんだよ。 SortedList ならクラスを使えば綺麗に実装出来る。 文法についても問題があった>>39 について対策済みだろ。 いまいち最近のお前らが言語間で争う意味が分からない。 俺はbetterC派だから、生粋のCerからも生粋のC++erからも叩かれる存在ではあるのだが、 昔はこんな事なかったと思うんだけどね。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
112 名前:デフォルトの名無しさん [2018/09/22(土) 14:02:20.79 ID:PGp2AKzL0.net] まず頭が悪いヤツに言語の特性なんかわかるハズがない それぞれの言語すら分かってないヤツに その特性の差なんか分かるはずがない ↓こんなことを自信満々で書いてる低学歴知恵遅れだからな 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) だよ。 そうじゃないと複数のリストがあったときに使い物にならないだろ。
113 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 14:03:39.37 ID:16ZpsTnK0.net] >>97 結局明示無しか? まあ>>72-73 の流れなら、 少なくとも73は「未回答、または回答不十分」だと見なしていたわけだよ。 「C言語本格入門」はゴミだから今すぐ捨てろ、マジで。
114 名前:デフォルトの名無しさん [2018/09/22(土) 14:09:51.43 ID:PGp2AKzL0.net] たとえば夜間バッチが動いて エラーが発生する ID:16ZpsTnK0 ← こういうヤツに 好きに作らせるとなんでエラーが発生したわからない様な テロコードを書く しかも無意識、そんなコード書いてもなにが悪いかもわからない こんなヤツにコードを書かせる場合、強力な監視が必要になる その労力に半端ないぐらいのムダが発生する
115 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 14:21:45.13 ID:bcuOiC7Q0.net] ポインタは入門書読んだときは簡単と思ったけど規格書読んでみたら難しいと思ったな 例えばC++でtype punningを規格に沿った形で実現できるのか memcpy使っても規格を見ると怪しいと聞いてもうね どうすりゃいいのよ
116 名前:デフォルトの名無しさん [2018/09/22(土) 14:31:58.80 ID:PGp2AKzL0.net] むしろポインタなんかどんなアホでもすぐに理解できる そっから先で道を誤るヤツのほうが多い 低学歴知恵遅ればっかりのこのスレみればわかるとおり
117 名前:デフォルトの名無しさん [2018/09/22(土) 14:37:01.37 ID:PGp2AKzL0.net] だいたいアホはシステムというもんが分かってないからな シンタックスをしってて、動きさえすれば それでなんでもできるもんだと勘違いしてる低学歴知恵遅れのスクツがココだからな 低学歴知恵遅れの万能感は半端ない 低学歴知恵遅れはどんだけゴミクズでどんだけ自分が致命的に頭悪いか その自覚がない
118 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 14:44:01.16 ID:16ZpsTnK0.net] >>112 unionのことならC++では「絶対に書け、でないと動きを保証しない」なんだろ。 俺はそれは糞で、C流の「つべこべ言わず書いたように動かせ」の方がいいと思ってる。 C++は「書いたように動く」事よりも、「自動的に速くなる」方を選んでる。 それでいい分野も多いが、不味い分野もある。 だから結果的に棲み分けされてしまう。 以前C++スレで出たはずだが、 俺はあの仕様の問題は、関数ごとに最適化条件を変えられないことにあると思うよ。 unionなんて触るのはごく一部の関数だし、そこだけ最適化を解ければ済むこと。 C++は「ソースはこう書くべき」なんてやってるからそういうのを認めない。 これが良くない。
119 名前:デフォルトの名無しさん [2018/09/22(土) 14:56:37.58 ID:PGp2AKzL0.net] 普通に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; } なんで低学歴知恵遅れは自分の極端に狭い了見で すぐにしったかすんの?
120 名前:デフォルトの名無しさん [2018/09/22(土) 15:00:47.10 ID:PGp2AKzL0.net] 低学歴知恵遅れは低学歴知恵遅れの自覚は一切なく 自信満々でテキトーなことをいうからな
121 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 15:08:28.87 ID:7nPJqZuh0.net] いいぞ もっとやれ
122 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 15:19:40.54 ID:bcuOiC7Q0.net] >>115 C++はunionでもだめらしい なので memcpy でもそれも怪しいと どこだっけ C++ カンファレンスなんかで出ていた話題 テストをたくさん作って開き直るしかない面がある C99とgcc拡張ではokなんだけど
123 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 15:39:17.37 ID:16ZpsTnK0.net] >>119 見ての通り、俺は規格に詳しいわけではないので、 申し訳ないがそれ以上は分からん。 ただ、C++もバリバリの実用言語だから、 何らかの手段は提供しているとは思うけど。
124 名前:デフォルトの名無しさん [2018/09/22(土) 15:42:51.93 ID:PGp2AKzL0.net] 要するになにも知らないわけか で、オマエはなにをしっててこのスレに書きこんでるわけ?
125 名前:デフォルトの名無しさん [2018/09/22(土) 15:44:50.26 ID:PGp2AKzL0.net] つまり低学歴知恵遅れが とりあえず行き当たりばったりのコードをとりあえず書いて IDEでトレースデバッグならできますと そう自己紹介してたワケか
126 名前:デフォルトの名無しさん [2018/09/22(土) 15:52:07.27 ID:PGp2AKzL0.net] まさに 結果としてとりあえず動きさえすればいいという低学歴知恵遅れの思考回路といっていい まさに地雷
127 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 16:15:07.77 ID:rjQGIIPhM.net] お、決着付いたかw
128 名前:デフォルトの名無しさん [2018/09/22(土) 16:22:40.01 ID:PGp2AKzL0.net] 決着なんかついてない 低学歴知恵遅れのレスなんか情報価値ゼロだからな ココまでのレスは低学歴知恵遅れの落書き ただの低学歴知恵遅れのノイズ オレのエレガントな回答(>>82-83 )に質問したヤツが このあとどう考えることができるかがココでは重要なワケだからな
129 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 16:48:54.50 ID:OhNgC4130.net] 低学歴知恵遅れ君が見事にスルーされててワロタ お前ら流石だなw
130 名前:デフォルトの名無しさん [2018/09/22(土) 16:53:47.18 ID:PGp2AKzL0.net] スルーじゃない オレのレスは一切のスキがないほどカンペキなレスだからな オレのレスにレスすらできない
131 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 18:32:31.91 ID:7nPJqZuh0.net] よくやった
132 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 20:07:04.73 ID:sYLo1So00.net] ミスを取り繕おうとして必死に足掻く人間の尊い姿が見れました 今日はこれでおなかいっぱいです
133 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 20:24:37.68 ID:16ZpsTnK0.net] >>119 こんな感じ? https://stackoverflow.com/questions/25664848/unions-and-type-punning https://adriann.github.io/undefined_behavior.html Cならunionでよし、C++ならさらに one active を守れ、というところか。
134 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 20:28:37.33 ID:IQP82yEia.net] ここCだからC++の話は他所でやれ
135 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 20:44:12.64 ID:16ZpsTnK0.net] strict aliasing はCもだけどな d.hatena.ne.jp/yohhoy/20120220/p1
136 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 21:03:12.63 ID:1VdbYLFX0.net] >>40 > とにかく、 void がクソだというのは取り下げる。 いや、voidはクソだぜ K&R Cでは「引数が0個でなければならない」とか 「返却値は使用禁止」といった概念がなかったので (void) のようなシュールな構文を後付けせざるを得なかったが () で引数0個にならないというクソルールを上塗りする形で登場したものだ クソルールの延長はずっとクソだ
137 名前:デフォルトの名無しさん [2018/09/22(土) 21:04:50.64 ID:PGp2AKzL0.net] ぜんぜん違う プロトタイプ宣言を厳密にできるようにしてるだけだからな
138 名前:デフォルトの名無しさん [2018/09/22(土) 21:08:08.86 ID:PGp2AKzL0.net] 昔のCはプロトタイプ宣言すらなかった 引数の数や順序の誤りがかなりのバグの温床になってたからな
139 名前:デフォルトの名無しさん [2018/09/22(土) 21:13:19.69 ID:PGp2AKzL0.net] やっぱりな低学歴知恵遅れは なにも知らないくせにテキトーなことばっかりいうのがよくわかる 低学歴知恵遅れが二匹以上あつまると ものすごい頭悪いレスに対してでものすごい頭悪いレスで スレが成立することになる
140 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 21:31:49.36 ID:16ZpsTnK0.net] >>133 それについては、ここにいる大半の初心者も含め、 ・CコードをC++コンパイラでコンパイルする で解決出来るだろ。 当たり前だが問題になる仕様は修正されているし、 C++と非互換部分に当たったらその時に考えろ、でいい。 勿論C自体の仕様が変更される方がいいが、それをここで言っても意味無いし。 C++98辺りまでは(C++03もか?)完全上位互換だったはずだし。
141 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 21:35:32.58 ID:1VdbYLFX0.net] >>134 おーいバカ、息してるか? 135に即レスされてんな
142 名前:デフォルトの名無しさん [2018/09/22(土) 21:36:45.21 ID:PGp2AKzL0.net] オマエはその初心者にすら到達してない その自覚がない 基本的なことすら分かってないくせに しょうもないエイリアシングの受け売り日記読んで それでなにか分かった気でいるワケだからな
143 名前:デフォルトの名無しさん [2018/09/22(土) 21:37:45.25 ID:PGp2AKzL0.net] いやオレが書いてることはなにも間違ってない なにも書かなかったら int 返す関数にされてしまうからな
144 名前:デフォルトの名無しさん [2018/09/22(土) 21:40:18.41 ID:PGp2AKzL0.net] ホントに低学歴知恵遅れは なにも分かってないらしいわ
145 名前:デフォルトの名無しさん [2018/09/22(土) 21:41:46.14 ID:PGp2AKzL0.net] 低学歴知恵遅れが ムリして頭いいふりしようとしても 頭悪いのなんかすぐにバレるからな 残念なことに 本人は気付いてないかもしれないが いちいち頭悪いですと自己紹介するからな 残念なことに
146 名前:デフォルトの名無しさん [2018/09/22(土) 21:44:28.90 ID:PGp2AKzL0.net] まともな教育を受けているば 低学歴知恵遅れセンサーの感度はよくなる レスみれば コイツ低学歴知恵遅れとすぐに分かるワケ コレはマジな話だからな 低学歴知恵遅れにはそういうセンサーは内臓されてない そいつ自体が低学歴知恵遅れだからな
147 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 21:55:46.74 ID:7nPJqZuh0.net] なんで半角で書くの?
148 名前:デフォルトの名無しさん [2018/09/22(土) 21:57:20.87 ID:PGp2AKzL0.net] なんで全角で書くの?
149 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 21:57:59.62 ID:7nPJqZuh0.net] 変換候補のトップに出てくるから
150 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 22:00:48.10 ID:wyOkhzEz0.net] >>137 > C++98辺りまでは(C++03もか?)完全上位互換だったはずだし。 おい大丈夫か?
151 名前:デフォルトの名無しさん [2018/09/22(土) 22:01:07.16 ID:PGp2AKzL0.net] 半角のほうが横文字が見た目冗長じゃなく読みやすいから 行あたりの情報量が多く視認性もよい
152 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 22:05:35.54 ID:1VdbYLFX0.net] >>141 ホントに青二才は なにも分かってないらしいわ 青二才が ムリしてベテランのふりしようとしても ニワカなんかすぐにバレるからな 残念なことに 本人は気付いてないかもしれないが いちいち頭悪いですと自己紹介するからな 残念なことに
153 名前:デフォルトの名無しさん [2018/09/22(土) 22:06:57.06 ID:PGp2AKzL0.net] 相当悔しいらしい
154 名前:デフォルトの名無しさん [2018/09/22(土) 22:08:38.78 ID:PGp2AKzL0.net] しかしな キミラが相当頭悪いというのは 間違いなく事実だからな 残念なことに その自覚がないのが相当致命的であるだけであってな
155 名前:デフォルトの名無しさん [2018/09/22(土) 22:11:26.83 ID:PGp2AKzL0.net] ID:1VdbYLFX0 ← コイツは低学歴低知能底辺の高齢ITドカタ オレぐらいのレベルになると レスでだいたい社会的特徴まで 概ね推認できるようになる
156 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 22:12:31.90 ID:AEsgMTAW0.net] >>148 始まった頃のパソコン通信だと、 アルファベットとカタカナしか使えなかったっけ 一度これをやってみてくれないか? 本当に行当たりの情報量が多く、視認性が良いか確かめてみて
157 名前:デフォルトの名無しさん [2018/09/22(土) 22:14:43.13 ID:PGp2AKzL0.net] 漢字がないと読みづらいにきまってるだろ 頭悪いの?
158 名前:デフォルトの名無しさん [2018/09/22(土) 22:16:23.82 ID:PGp2AKzL0.net] KANJI ga naito yomizurai ni kimatterudaro ATAMA WARUI NO?
159 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 22:24:34.83 ID:rjQGIIPhM.net] ほんとだ!全部半角で読み易い!!
160 名前:さまよえる蟻人間 mailto:sage [2018/09/22(土) 22:27:04.62 ID:UJtJ/FuZd.net] 全部空白にすると読むストレスが大幅に軽減されるよ。
161 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 22:56:20.90 ID:7nPJqZuh0.net] >>148 それを根拠に一人だけしかやってなくて目立つ行動を続けてきたというワケか なるほど。
162 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 23:02:48.16 ID:1VdbYLFX0.net] 効いてる効いてるw
163 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 23:48:59.10 ID:sYLo1So00.net] >>37 >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? これが今年の大賞候補
164 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 00:02:26.39 ID:ZzaracLF0.net] ヘ_ヘ ミ・・ ミ ( )〜
165 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 00:05:07.81 ID:GlsCxAATa.net] void 引数を初めて見たってのがなかなか
166 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 01:02:52.16 ID:A0stA7Ax0.net] >>148 お前さんのレスは毎度毎度同じような汚い言葉繰り返して冗長なんだから、まずそれを治せよ。 行当たりの情報量、かなり低くなってるぞw
167 名前:デフォルトの名無しさん [2018/09/23(日) 01:34:39.73 ID:s92HkKLC0.net] すごい。もうこんなに書き込みが増えているなんて。さすが>>18 。 まさかこんなにすごい釣り名人がこのスレに現れるとは思わなかった。
168 名前:デフォルトの名無しさん [2018/09/23(日) 02:16:32.82 ID:s92HkKLC0.net] >>160 ああ。名言だね。
169 名前:デフォルトの名無しさん [2018/09/23(日) 02:18:19.58 ID:s92HkKLC0.net] >>161 お久しぶりです。
170 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 02:46:55.57 ID:NZFTE96P0.net] まあ、質問者は運が悪かったかなーとは思う。 「俺の言ってることが正義」「それを理解できないのはお前が悪い」 みたいな教え方は、初心者にとっては助けにならないんだよね。教師としては(ry ポインタがあまり理解できてない、という時点で、初心者スレ(C/C++室)に 誘導してあげた方が、初心者と同じ目線でのレスがもらえたかもだ。
171 名前:デフォルトの名無しさん [2018/09/23(日) 03:20:49.83 ID:D4/zD5nR0.net] >>17 なるほどね……。 いやGNU LibCは過去互換性やらいろいろで ややこしそうな印象がある一方で Musl LibCはC99対応を謳ってる新規プロジェクトだから 取り組みやすいかなと思ったんだけど やっぱり知名度が低いライブラリは避けるべきよね
172 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 07:28:43.63 ID:F+fmWasg0.net] ワンツーフィニッシュ! hissi.org/read.php/tech/20180922/
173 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 07:32:52.82 ID:A6XCmyXs0.net] >>160 w
174 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 10:29:46.37 ID:2VtMIRxv0.net] >>167 ゆとり死ね。だからお前らは駄目なんだ。 まあ俺はゆとりとついでにさとりも殺処分するしかないと再認識したがな。 ここはどんなクズでも手取り足取り教えてもらえる学校のような場所ではない。 読者参加型ですらなく、全員参加型の場所なのだから、改善はお前自身で行わなければならない。 (これは社会も同じ。理解出来ないのはお前が学生またはその程度だからだ) 不味いパン屋に文句を言ったところでパンが美味くなることはない。 美味いパン屋を自分で建てるか、誘致するか、自分で探して買いに行くなりしなければならない。 その結果、不味いパン屋は倒産し、美味いパン屋だけが繁盛して残る。 結果、社会全体で見ればよりおいしいパンを手に入れられるようになる。改善するわけだ。 ここも同じだ。 他人のレスに文句を言っても何も変わらない。 良いレスを自分でするなり、適切なスレが他にあるのなら誘導するなり、 改善する活動は自分自身で行わなければならない。 お前らはこれを全くせず、文句しか言えない。だからゆとりが集まっても何も改善しない。 これは、長期的に日本を悪くして行っている。 教え方を知っているつもりなら、何故お前が教えてやらない? 他の良いスレを知っているのなら、何故そこに誘導してやらない? この点において、何度も言っているが、半角君の方がまだましだよ。 彼は少なくとも自分で改善しようと試みてる。 不味いパン屋を出店することが法的に規制されていないのと同様、 ここでは下手くそなレスを連発することも規制対象にならない。 なら、自分がより良いレスが出来ると思うのなら、何故やらない? お前らは根本的に考え方がおかしい。 だから文句を言われるのだが、それが何故かも理解出来てないだろ。
175 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 10:30:10.73 ID:2VtMIRxv0.net] 話は簡単だ。相手より良いレスで相手のレスを「上
176 名前:書き」すれば良いだけだ。 おいしいパン屋が結果的に不味いパン屋を蹂躙するのと同様、 お前のレスが下手くそなレスを蹂躙すればいいんだよ。 もっとも、どのレスに価値があるかは読者が判断することであって、 お前らみたいにわーわー騒いで勝ち、という幼稚園児レベルの話でもないがな。 質問者、或いは同様の事で悩んでいる奴らは、全部のレスを読むだろう。 その結果、「このレスのおかげで理解出来た」というのは自然に発生していく。 それが勝ち負けに対する一票であり、その投票で勝ち負けは決まる。 この点において、俺がお前らに「負ける」事は絶対にあり得ない。 お前らは何ら「役に立つ『可能性』のある」レスをしていないからだ。 他人に文句しか言っていない。 自分の候補を持ってないから、お前らが勝つことは原理的にない。 ここで、『可能性』に言及したのは、これこそが改善の原動力だからだ。 お前らも、自分のレスの方がいい『可能性』があると信じるなら、どんどんレスをすれば良いんだよ。 この点において、半角君自身は彼のレスこそが至高であり、俺のレスなんてゴミだと信じているわけだから、 当然俺のレスを貶す。 まあ必要以上に粘着されているが、彼が俺を貶すのは、この点において理に適っている。 それが行儀がいいかどうかは、読者の判断に委ねればいい話だ。 もし彼のレスで「分かった!」となる奴がいたら、彼の勝ちでいいわけだし。 そしてこの点において、お前らには本来は文句を言う権利もない。 お前らは俺のレスを上書きする為の「お前ら自身のレス」がないのだから。 俺は俺のレスがある。半角君は半角君のレスがある。これでレースは成立する。 お前らにはレースに出走するレスすら存在しない。当然レースには参加出来ない。 お前らはこのことも理解出来ない馬鹿なんだよ。 だからゆとりは死ねといわれる。これも妥当な話だ。 [] [ここ壊れてます]
177 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 10:31:15.69 ID:2VtMIRxv0.net] 俺は>>18 に必要なのはIDEであって、話はそれからでいいと思うぞ。 そして今の判断では、18はプログラミング向きではないから、止めた方がいいと思うし、 それ以前に何の為にプログラミングしてるか謎なのだが。 学校の勉強として出てくるプログラミングを先に予習するつもりなら、止めとけ。 数学と物理を勉強しておいた方が、結果的にプログラミングの学習は早い。 だから学校の勉強を頑張っておいた方がいい。
178 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 11:41:27.01 ID:A6XCmyXs0.net] ネオvoidが今日も暴れる 駅前で不特定多数を叱り飛ばしている危ないオヤジさながら
179 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 12:19:44.35 ID:daMeAE670.net] voidおじさん誕生の瞬間に居合わせることが出来てわたしはとても幸せです
180 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 12:25:48.45 ID:HrTZFmBf0.net] >>173 ここは質問に答えるスレだ おまえは半角君に感化されてようやく質問に答えた 最初のおまえの行為を正当化する道理はない
181 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 12:28:32.40 ID:A0stA7Ax0.net] >>18 は悪くないのに、とばっちりを受けたようなもんだね。 初心者なら別に珍しくもないレベルの疑問や理解不足なのに、たまたま答えた奴が自分のミスを指摘されたことに逆上して他のところに八つ当たりをしているだけのように見える。
182 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 13:05:05.36 ID:0tCq7KCLa.net] >>175 あの人は基本的には短文だけどね
183 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 13:07:20.90 ID:2VtMIRxv0.net] >>176 ゆとりはマジで死ね だからそれはお前自身がまず役に立つレスをしてから言え。 そしてそれが本当に役に立つのなら、誰がどういうレスをしようが話はそこで終わる。 質問者はそのレスだけでおなか一杯になるし、それで十分だからだ。 他人のレスにどうこう言う話ではない。 そもそもここで他人に期待するのが間違っている。 各自は勝手にレスするだけ。 回答する自由もあるし、無視する自由もある。勝手なことを述べる自由もある。 お前は根本的に勘違いしている。自分でやらないといけないんだよ。 そもそもお前は何故回答し
184 名前:なかったんだ? それを棚に上げて、お前は何を言ってるんだ? お前が正しく回答すれば、それで終わった話ではないのか? ゆとりがいくらいても何も改善しない。だからゆとりは殺されるべきなんだよ。 正しく理解して死ね。 お前らより、半角君のほうが数段ましだ。 彼が100人いたら、100通りの回答は出てくるだろうし、どれかは当たるだろう。 お前らが100人いても、文句ばかり言って、誰も何も回答しない。何も改善されない。 そもそも、>>72 が回答になっていると思う馬鹿共は、>>36 のソース読んでないだろ。 それでどうしてそんなに強気で批判出来るのか。頭おかしいとしか思えないぞ。 72の「直接的回答」では18の手助けにはならない。 少なくとも、それで解決する奴なら、そんな引っかかり方はしない。 俺の回答は、「色々間違ってるから納得いくまでIDEでステップ実行しろ」だ。 これ以上の回答が出来るつもりなら、やれば良いだけだ。何故それをしない? そして、半角君はそれをやってるだけだ。お前らより数段ましだ。 [] [ここ壊れてます]
185 名前:デフォルトの名無しさん [2018/09/23(日) 13:23:18.60 ID:s92HkKLC0.net] >>178 そうだね。「レスってなんですか?」みたいな。
186 名前:デフォルトの名無しさん [2018/09/23(日) 13:34:52.85 ID:s92HkKLC0.net] ゆとりと言えば現在52歳以下の大半はゆとりなわけで、ほとんどゆとりがゆとりを叩いているだけだ。目糞鼻糞を笑うみたいな感じ。 50代も20代の頃には「新人類」とか呼ばれていた。おそらくそう呼んでいた側も若い頃は色々言われていたんだろう。 いつの時代も歳よりは若い者に難癖を付けて嫌がるものだ。自分のお株がどんどん奪われて行ってしまうからな。 若いやつを嫌がるようになったらもうほとんど終わったと思った方が良い。 https://ja.wikipedia.org/wiki/%E3%82%86%E3%81%A8%E3%82%8A%E4%B8%96%E4%BB%A3 ゆとり世代 ゆとり世代(ゆとりせだい)とは、ゆとり教育(ゆとりきょういく)を受けた世代のこと。 定義・範囲 ゆとり世代については明確な定義、範囲はなく諸説ある。 小中学校において2002年度施行(高等学校は2003年度)の学習指導要領による教育を受けた世代(1987年4月2日 - 2004年4月1日生まれ)。 小中学校において1980年度以降(高等学校は1982年度以降)の学習指導要領による教育を受けた世代。1966年度生まれ以降。
187 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 13:36:44.51 ID:s92HkKLC0.net] ああ、そうだ。14歳以下はゆとりではないな。失礼。
188 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 14:00:28.93 ID:A9/M/+R7M.net] 昨日のやつまだ暴れてんのか 3行でたのむわ
189 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 15:20:08.05 ID:2VtMIRxv0.net] >>181 > 現在52歳以下の大半はゆとり まずお前は算数からやり直した方がいい。 > いつの時代も歳よりは若い者に難癖を付けて嫌がるものだ。自分のお株がどんどん奪われて行ってしまうからな。 これは違う。 というか、ゆとりはこの方法でもっとゆとり批判の陳腐化を仕掛けるのが常だが、これは間違いだ。 いつの時代も、最近の「天気」「若者」「言葉」はおかしい、と言われてきた。これは事実だ。 ただ、ゆとりの場合、逆に > 自分のお株がどんどん奪われて行ってしまうからな。 これがないから批判されてる。 教育システムは単調増加で整備されていく。 先生も教材もこなれてくるからだ。 先生は先生なりに努力はしており、上手い教え方が見つかれば共有されていく。 (それの最たる物が予備校だったわけだが) 勿論クズ教師もいるが、それ以外が大半だから、全体的には改善していく。 プログラミングにおいては、無料IDEが何種類も普及し、言語も選べるようになった。 PC(実行環境)が家にあるのは当たり前になった。 家で実行する術もなく、無料IDEもなく、C言語しかなかった時代はほんの15年前だ。 それからすると雲泥の違いだ。 だから、『同じ努力をしたとき』同じ年齢で比較すれば、常に実力は 新世代 >
190 名前:旧世代 の図式が成り立つ。 よって、いつの時代も、実力は 旧世代の今 >>> 新世代の今 > 旧世代(新世代と同年齢時) だった。 これが、 > 自分のお株がどんどん奪われて行ってしまうからな。 に繋がる。繰り返すが、これは『同じ努力をしたとき』の話でしかない。 [] [ここ壊れてます]
191 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 15:20:35.45 ID:2VtMIRxv0.net] 問題は、ゆとりは努力をしてきてないことだ。 だから、これが成立しない。ゆとりが叩かれているのは、ひとえに、旧世代から見て、 「昔の俺より明らかに酷くね?」と思えるからだ。 逆に言えば、それ以前の若者批判は、 「最近の若者は酷い」「じゃあお前の若い頃はどうだったんだ?」「…(いや確かに酷かったわ)」で済んでた。 それがゆとりは成立しないから叩かれてる。つまり、 「ゆとりは酷い」「じゃあお前はどうだったんだ?」「さすがにこんなんじゃなかったよ!」なわけだ。 (勿論、飲みニュケーションなんて意味無いし糞ウゼエとは俺も思ってたから、 ゆとり(というより新世代)の価値観に共感出来る面はあるにしても) プログラミングでも同じだ。 環境は圧倒的に新世代の方が上だから、旧世代の『当時の』実力に追いつくのは圧倒的に楽だ。 それは旧世代の成果だが、新世代なのだから有り難くそれを享受すればいい。 東工大含め、各学校がシラバスを上げているのもそういう流れだ。 そしてその後の新々世代は、さらにそれを享受し、新世代をも凌駕する速度で学習すればいい。 そうやって世の中は回っている。 だから新世代は旧世代を凌駕してくれないと困るんだよ。 ゆとりはこれがないから叩かれてる。 お前らが思っているのと逆なんだ。
192 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 15:21:23.36 ID:2VtMIRxv0.net] 2chについては、システムを長いこと変更していない。 結果、このシステムではこうしかならない、という点に収束している。 死ね、ウンコ、おっぱい、良くも悪くもこのスレ以外も同じだろ。 現状、文句を言っている奴は、全く改善に繋がるレスが出来ていない。 他人に文句だけ言って、自分では何もしない、典型的クレクレ君だ。 そしてお前らはクレクレ君をちゃんと飼え、回答だけしろという。 そういうスレは2chにはないだろ。 理由は簡単、そんなスレは面白くもなく、当然のように潰れるからだ。 ここら辺を理解も出来ないからゆとりは馬鹿にされる。 お前らが望む物は、今のお前らのやり方「文句を言うだけ」では絶対に手に入らない。 お前らが直接参加して、お前らが思う『正しい回答』をするしかないんだよ。 だから、「C言語ゆとり専用スレ」が繁盛すると思うのなら、やってみればいい。 俺はそっちには行かない。これは約束する。 そしてそのスレが繁盛し、このスレが過疎って落ちるのなら、君らの勝ちでいい。 そうやって、おいしいパン屋が不味いパン屋を駆逐するのと同様、 良いスレが悪いスレを駆逐することにより、全体的に板が次第に改善されていくものなんだよ。 これは2chにこだわる必要もなく、 stackoverflow/teratail/知恵袋/はてな等、好きなところを自分自身で盛り上げればいい。 そうやって、2ch自身が過疎って死ぬのなら、2chは役割を終えた、となる。 この、改善に向けての一歩は自分自身のレスで行うしかないし、それ自体が一票になる。 そしてその投票結果が繁盛/過疎、ということになる。
193 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 15:22:30.79 ID:2VtMIRxv0.net] だから何度も言っているが、他人のレスにけちを付けるのではなく、 「俺ならこうだ!」みたいなレスをするべきだし、 それをしてないうちは、他人のレスにけちを付ける筋もないんだよ。 そしてこれまた何度も言っているが、半角君はそれをやってるし、 彼にとっては彼の回答こそが大正義なのだから、俺のレスにけちを付けるのも筋は通っている。 だから、お前らも、まずお前らの大正義回答を見せてから、俺のレスにけちを付けるべきなんだよ。 ゆとり批判にフォーカスして論理をすり替えるのもお前らの常套手段だが、 お前らがゆとりであることが問題なのではなく、こういった筋を理解していないから批判されてて、 理解出来ないのはゆとりだから、とされてるわけだ。 結果、ゆとりは死ね、で大体あってるからゆとりが叩かれてる。 ゆとりの行動が批判されているのであって、それはお前らが変われば済む話なんだよ。 ここでの話なら、何度も言っているが、お前ら自身が大正義な回答をして見せろ。 そしてそれが質問者にとって本当に役立つのなら、そこで話は終わる。 俺がどんな糞レスをしようと、質問者は俺のレスなんて無視して終わりだ。 お前らはそれをせずに、文句だけしか言わないから批判されてる。 それをちゃんと理解して、社会参加しろ。(ここでなら回答しろ、ということ)
194 名前:デフォルトの名無しさん [2018/09/23(日) 15:54:01.08 ID:boJWx7GSC] >>18 https://imgur.com/p8rAmDB https://imgur.com/a/f14jCWT 匿名掲示板なんかで俺はいったい何をやってるんだ。。
195 名前:デフォルトの名無しさん [2018/09/23(日) 15:48:30.78 ID:s92HkKLC0.net] 必死だな。長すぎて読む気が起きん。パッと見C言語とも関係なくスレチなようだし。
196 名前:デフォルトの名無しさん [2018/09/23(日) 15:57:32.02 ID:MC3A3QT40.net] >>18 https://imgur.com/p8rAmDB https://imgur.com/a/f14jCWT 匿名掲示板なんかで俺はいったい何をやってるんだ。。
197 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 16:06:19.50 ID:A9/M/+R7M.net] >>190 おしまい って言ってるけどポインタ操作残ってると思うんですが
198 名前:デフォルトの名無しさん [2018/09/23(日) 16:18:10.25 ID:MC3A3QT40.net] >>191 本質は捉えてると思うけどいろいろ省略はしてるよ。
199 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 16:20:33.89 ID:wZwojnIWM.net] そこまで説明必要か? 十分だと思うが
200 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 16:24:02.25 ID:M01VWGWsa.net] >>190 すごい
201 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 16:35:24.60 ID:2VtMIRxv0.net] >>190 おーご苦労様。(俺に言われたくはないだろうけどさ) まあそれで君なりのベストアンサーがその図だというのはそれでよし。 晴れて君はレースに出走出来、俺を貶すにしても筋が通るというわけだ。 君自身も回答を控えていた点から、直球回答は意味無いと考えていたわけだし、 マジで>>72 が役立つと思う馬鹿はちょっと色々考えた方がいいぞ。 君が認めるかどうかはさておき、 良くも悪くも今君が作った図はインターネット上を彷徨うことになる。 そしてこれは次世代への蓄積となり、次世代はもっと効率よく学習出来るようになる。 君は未来に対して貢献したのだから、褒められるべきだ。 こういう、各自の努力の蓄積によって今の社会は成り立ってる。 学生の本分は学業だと言うのなら、社会人の本分は社会だ。 社会人はこれを認識し、社会に対して責任を持たなければならない。
202 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 16:47:50.83 ID:2VtMIRxv0.net] >>190 そして詳細確認したが、「今回向け」に書いている点が惜しいな。 単方向リストで before を使うのは筋が悪い。 だからその図は今回には役立つが、ある意味『間違った』蓄積であり、 確実に『正しい』ものによって淘汰され、君の努力はいつか無駄になる。 そしてこういうミスリードを誘った「C言語本格入門」の著者は腹を切って詫びるべき、となるわけだ。 可能であれば君自身で修正し、ブログでも立ち上げてそこに貼り付けるか、(quitaでもいいか?) ブログやってるが図がない奴に勝手に送りつける等、残す努力をするべきだな。 まあそちらの自由だが。
203 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 17:02:44.17 ID:A9/M/+R7M.net] >>192 やりっぱなし感があるというか 手順の提示としては定常状態まで戻っておしまいの方が好ましいのでは まして想定対象者が>>18 みないな感じなら
204 名前:デフォルトの名無しさん [2018/09/23(日) 17:17:52.45 ID:MC3A3QT40.net] あーうざい >>190 は今後もプログラミングを続けるべき18のためのもの。 長文くんの回答はハードモードで入門者の役に立たない。 この段階でダブルポインタとか頭おかしい。 >>197 うーん、ごめん無理。もう疲れた。
205 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 17:31:07.99 ID:YEpQkxBa0.net] >>178 無能ですね
206 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 19:25:09.48 ID:2VtMIRxv0.net] >>198 > この段階でダブルポインタとか頭おかしい。
207 名前:そもそも二重ポインタが難しいってのがもう無理なんだよ。 ただのポインタと二重ポインタの難易度で大差はない。 それだとジャグ配列も理解出来ないだろ。 まあそれでも君は君なりにイージーモードの回答をしたつもりな点はいい。 それで俺の回答がハードモードすぎると批判するのも正しい。 他の馬鹿共もこいつを見習って何か回答してから文句を言え。 そうしないと何も改善しないんだよ。 そしてそれがお前らゆとりが最悪な点でもある。 なお、俺の回答は既に最初から何度も繰り返しているが、「IDEを使え」だ。 18は何が分かってないかすら理解出来ていない。 それを君も理解してるから、君も直球回答しなかったわけだろ。 だから俺の回答は、「IDE使って納得いくまでステップ実行しろ」になる。 ただし36のソースはゴミだから、わざわざステップ実行するなら41か44にしろ。 そして47が何故高速になるのか考えろ、というわけだ。 あと、君は『ゆとりスレ』を率いれる可能性がある。 他のゆとり共には回答出来るだけの知能がないから無理だったが、君にはあるようだから。 俺が気に入らないならスレ立てて頑張れ。他のゆとりも応援してくれるだろう。 俺はそっちには行かないことも約束する。 それで君たちだけで上手く回せるのなら、それが一番いいし。 そしてその程度で疲れるものだと理解出来たのなら、 俺やお前の上司や先輩がどれだけお前らゆとりの為にエネルギーを費やしてきたかを理解し、 感謝しつつ、お前も後輩の為にエネルギーを費やせ。 (上司や先輩に返す必要はない) [] [ここ壊れてます]
208 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 19:32:11.78 ID:eq3kKmf90.net] この必死なレスのモチベーションはなに
209 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 19:51:24.73 ID:A0stA7Ax0.net] >>201 自分の無知を指摘され、いったん素直に指摘を認めことができたけど後から後から突っ込まれ、怒りの矛先を他人に向けて自分を納得させようとしているのだと思われる。 カッコ悪い姿をさらし続けていることに自覚が無いらしい。
210 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 19:59:31.31 ID:pZmr8c6F0.net] >>200 >ただのポインタと二重ポインタの難易度で大差はない。 それは、あなたの理解の仕方が、二重ポインタの難易度の差を感じない、というだけであって、 他の人にとっては、ただのポインタと二重ポインタとで、難易度に差が出る可能性はあります、というか、それが普通だと思います
211 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 20:03:40.44 ID:2VtMIRxv0.net] >>202 違うぞ。お前はそういうことにしたいようだが。 >>201 まじめに聞きたいのなら答えてやるが、その前にお前が答えるに値することを示せ。 具体的には、>>190 を見習って、お前なりのベストアンサーを出して見せろ。 そうでなければお前は文句しか言わない典型的クズゆとりでしかない。 それをちゃんと自覚しろ。
212 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 20:08:41.92 ID:2VtMIRxv0.net] >>203 何度も言っているが、俺のレスが難しすぎるというのなら、 お前がより簡単なレスをすれば良いだけだ。お前は何故それをしない? >>190 を見習え。 だからお前らゆとりは死ねって言われるんだよ。
213 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 20:11:03.68 ID:s0cMomwdM.net] 論点おかしくないか? スレの趣旨を考えろよ
214 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 20:19:56.90 ID:2VtMIRxv0.net] >>206 それは俺に言ってるのか? ならばお前も根本的に勘違いしている。 流れがおかしいと思うのなら、お前が流れを正すレスをすれば済む。 他人のレスを期待するのは間違いだ。 お前には違う受け方も見えていたのなら、お前が横レスで受ければいい。 俺が横レスについて文句を言うことはない。 そして指摘の通り、俺はそっちには受けなかった、これはその通り。 しかし、どっちに受けるかは勿論本人の自由だ。 そして、放置された話題を続けたいと思うのなら、お前が横受けすれば済む。 勝手にやれよ。俺は参加しないが。
215 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 20:28:20.20 ID:eq3kKmf90.net] >>204 悔しいんですね。
216 名前:デフォルトの名無しさん [2018/09/23(日) 21:59:52.18 ID:s92HkKLC0.net] >>201 やはり何かのスイッチが入っちゃったんだろうなあ・・・
217 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 22:05:27.70 ID:A9/M/+R7M.net] >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? プークスクス
218 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 23:41:36.70 ID:YEpQkxBa0.net] >>210 w
219 名前:デフォルトの名無しさん [2018/09/23(日) 23:49:09.60 ID:cRG95Xcq0.net] 低学歴知恵遅れは質問には答えられないくせに こういう質問と一切関係ない話題にだけは とても強い関心があるのがよくわかるわ しかも質問したヤツはこのスレを見てるとは到底考えられない 不毛な低学歴知恵遅れたちの争いだけがひたすら続く
220 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 23:53:23.11 ID:YEpQkxBa0.net] > なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? > こういう質問と一切関係ない話題にだけは もうやめて、お腹痛い
221 名前:デフォルトの名無しさん [2018/09/23(日) 23:55:00.19 ID:x91orYN2a.net] >>210 と言うか、レス先が分からなかった通りすがりだが、LLみたいなどんな型にもなれるって意味でvoid使えるは使える。 Java のキャリー地獄みたいになるから推奨はされてないが。
222 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 00:17:52.05 ID:Fuo9Kdvg0.net] >>37 >なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? Javaスレで相手にされなくなってたアイツじゃね
223 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 00:21:58.21 ID:/Z9skFPV0.net] >>214 それは void* で、引用元は>>37 。 状況知りたければ18から全部読め。(ただし中身は無い) > Java のキャリー地獄 これは何?JavaならObjectで多態では? なお回答先はJavaスレ(以下)でも構わない。俺がそっちに行く。 https://mevius.5ch.net/test/read.cgi/tech/1518252580/
224 名前:デフォルトの名無しさん [2018/09/24(月) 00:27:00.84 ID:rSek34EXa.net] まだレスが少ないならともかく、全部は読まんw
225 名前:デフォルトの名無しさん [2018/09/24(月) 00:28:36.24 ID:rSek34EXa.net] 流石に全部は読めんw ただ、元を読む限りただの引数なし関数やね。
226 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 00:33:34.74 ID:/Z9skFPV0.net] >>218 文法の不具合を解消する為の方策だ。 詳しくは>>64 内URL参照。
227 名前:デフォルトの名無しさん [2018/09/24(月) 00:37:29.32 ID:rSek34EXa.net] くう。。。 今からだとあぼーん多過ぎていまいち。。。 新旧の文法上だと言うのは何となくわかった。 まさかautoでは無かろうが。
228 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 10:09:26.60 ID:twjLvrgB0.net] auto というと、C++では型推論してくれるんだっけ? C言語だとただの自動変数を表すキーワードだからほとんど誰も使ってないと思う。
229 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 11:23:55.24 ID:GIs1tf8Y0.net] 型指定子がなかったBの名残りってだけで Cでは死産と言っていい状況だね
230 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 17:33:54.42 ID:eFHr5qJjM.net] 同じものがある順列を列挙するCのコードってどこかにないかな? PEPPERとかMISSISSIPPIとかを並べる順列を列挙したい。
231 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:04:59.62 ID:JEmRy2N3M.net] ただの木構造でわ?
232 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 22:36:13.96 ID:eFHr5qJjM.net] >>223 自己レス 英語で検索したらみつかりました。 https://www.geeksforgeeks.org/print-all-permutations-of-a-string-with-duplicates-allowed-in-input-string/
233 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 23:35:26.40 ID:/Z9skFPV0.net] >>225 普通はcarとcdrで再帰降下して、重複を取り除く為にアホみたいにN^2/2回比較して終わり。 この単純実装で十分だと思うけどね。メモリ食うけど。 そのサイトの実装は、速そうには見えないけど、メモリは食わないね。
234 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 11:39:13.66 ID:sI9HCV5SM.net] >>226 再帰使ったコードどこかに落ちてない? 自分で書く能力ないので既成品で速度比較してみたい。
235 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 13:48:31.42 ID:4xZhtJ+zM.net] 自分で書いた方はえーわ そして書けないってまずいわ さらに自分で考えないってもっとまずいわ
236 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 19:20:45.10 ID:A0N9+kL10.net] >>227 Cでその態度はグーで殴られるだろう。 なお225、再帰時に毎回sortして重複枝を刈れば、列挙後の比較は不要となりメモリは食わない。 ほぼ224と同じになるが、これが最速でもっとも簡素な気がする。 224は単純に全降下ではなくswapして降下先を選んでいるが、これの利点はよく分からん。
237 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:34:27.02 ID:4xZhtJ+zM.net] >>226 carとcdrってCでも使う言葉なの? 最近scheme初めて知ったんだけど
238 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:37:06.69 ID:CZcrESgD0.net] >>230 >carとcdrってCでも使う言葉なの? あんまり聞かない…
239 名前:デフォルトの名無しさん [2018/09/25(火) 22:37:56.77 ID:Ig86RmNy0.net] OSの体系的な質問で申し訳ないんですけど VisualStudioで作ったC言語の計算アプリがあるんですけど これはMacでも動くんでしょうか? それともMacにいったんVisualStudioをインストールしないと駄目なんでしょうか? 聞くに、C言語は低級言語なので動かないOSはない、C言語自体が完全ネイティブ環境 だとも聞いたのですがどうでしょう?
240 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:42:03.59 ID:1135EyDF0.net] コマンドラインで起動するコンソールアプリで C言語の標準的関数しか使っていないなら ほぼそのまま動かせると思いますが、 Windows固有のAPI使っている場合は 手直ししないと無理かと思います
241 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:42:10.10 ID:CZcrESgD0.net] >>232 main() を定義しているファイルをここ https://www.ideone.com に晒してくだされば、判断いたしましょう
242 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:44:39.75 ID:fKl9B6Sya.net] VS for Macとかコードの互換性あるんでねえの? バイナリは別としてさ。
243 名前:デフォルトの名無しさん [2018/09/25(火) 22:50:44.42 ID:Ig86RmNy0.net] >>233 うん???www WindowsAPIってのはC言語で実装されてるから問題ないのでは?
244 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:54:26.26 ID:1135EyDF0.net] WindowsAPI毎Macに移植するのであれば、動くかも知れませんね
245 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:06:10.30 ID:CZcrESgD0.net] >>236 >WindowsAPIってのはC言語で実装されてる win32api(≒WindowsAPI) は C から呼び出せるようになっているのではありますが、 win32api の実体が存在するかどうかは、また別の話になります mac にて windows 向けのコードを実行させるための手段があるかどうかは、私にはよくわかりません (wine とかが移植されているのですか?)
246 名前:デフォルトの名無しさん [2018/09/25(火) 23:09:30.90 ID:Ig86RmNy0.net] >>238 WindowsAPIを書いてる言語はバイナリってことですか?
247 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:18:34.02 ID:HAbRzuEs0.net] ソースコード全部をgithubに乗せれば話は早いです 要するに、現物を見るのが手っ取り早いです
248 名前:デフォルトの名無しさん [2018/09/25(火) 23:18:38.51 ID:SjmRGAva0.net] CPU OS ソースコード 実行ファイル ライブラリ API この辺の理解がごっちゃになってるな もしくは釣り
249 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:23:33.73 ID:1135EyDF0.net] 試しに、VCではなく、GCCコンパイラ使って、 ソース修正せずに実行プログラムが作成出来るかな?
250 名前:デフォルトの名無しさん [2018/09/25(火) 23:37:13.97 ID:Ig86RmNy0.net] >>241 釣りではないです 大学では バイナリ→アセンブリ→C言語→WinAPIやJava→高級言語(DirectXなどのライブラリ) →統合環境(VisualStudio) の順番で言語規模が高性能化するって習いました 高級言語→C言語にするには実行環境が必要
251 名前:ナすが そもそもC言語であるならば、OSが直接読み込める形であるのだから どんなOSでも動くという理解です。 間違っていますか? 大学でしないといけないのはプログラミングではなく言語体系についての 理解をレポートにしなきゃならないので [] [ここ壊れてます]
252 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:41:58.98 ID:Jw6NGqaL0.net] 中学生が背伸びしてるのかと思ったが大学生かよ。
253 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:42:20.18 ID:AGUJmjmE0.net] >大学では >バイナリ→アセンブリ→C言語→WinAPIやJava→高級言語(DirectXなどのライブラリ) →統合環境(VisualStudio) >の順番で言語規模が高性能化するって習いました どんな教育だよ...
254 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:46:38.07 ID:J8LSZpTD0.net] >>243 その言語や環境の並び、ざっくりしすぎというか突っ込みどころ満載でどこから訂正していいか困るレベルだよ。 テキストや教師がもんだいなのか、君がの理解不足でおかしなまとめ方をしてるのか…
255 名前:デフォルトの名無しさん [2018/09/25(火) 23:46:38.88 ID:xp1IDT0a0.net] 訂正するのがめんどいぐらいいっぱいまちがってる
256 名前:デフォルトの名無しさん [2018/09/25(火) 23:53:43.26 ID:Ig86RmNy0.net] >>247 どこらへんが間違ってますか? 間違いは財産です。教えてください。
257 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:54:12.64 ID:HAbRzuEs0.net] >C言語であるならば、OSが直接読み込める形であるのだから >どんなOSでも動く しゅごい
258 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:55:06.09 ID:AGUJmjmE0.net] >高級言語→C言語にするには実行環境が必要ですが 「そもそもC言語であるならば、OSが直接読み込める形であるのだから >どんなOSでも動くという理解です。 C言語は各マシンそれぞれのCPUやOSに対応した適切なコンパイラとAPIでコンパイルしないと動きません。
259 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:57:02.58 ID:J8LSZpTD0.net] >>243 まったく自分でプログラミングしてないなら実感沸かなくて当然なのだろうけど、その課題意味あるのかな。 それはともかく。 Cで書いたプログラムならどのOSでも 動く訳ではない。 Cで書かれたコードはOSぎ直接理解できるわけではない。そこでCのコードをOS上で実行できるコード(君の分類ではバイナリ)に変換する作業がいる。 その際、ターゲットとするCPUに合わせたコードに変換するから、違う種類のCPUの環境では動かない。 また、OSに関する機能は全部を自分の生成するプログラムに内包する訳ではなくて、OS側ですでに用意してあるプログラムを呼び出すだけだから、他のOSに自分のプログラムを持っていったら、呼び出す先のプログラムが存在しないので実行できないことになる。
260 名前:デフォルトの名無しさん [2018/09/25(火) 23:58:21.66 ID:Ig86RmNy0.net] >>250 正しいのでしょうがよく分かりません C言語のほうが低級なのに、高級のWinAPIでコンパイルするんですか? 矛盾してるような… WinAPIはコンパイルされる側のような…
261 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:02:36.99 ID:HESLqYz40.net] >>252 前提の理解が間違っているというか、APIが何者かまったくわかっていないよね。 winAPIはwindowsが予め用意してくれている機能で、一般のプログラマがコンパイルするものではない。 自分のプログラムをコンパイルするときに、くっ付けて使わせてもらうもの。
262 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:03:04.81 ID:h9A6ffHl0.net] WindowsAPIはAPIであってプログラミング言語ではないので言語的な高級度は定義できません。
263 名前:デフォルトの名無しさん [2018/09/26(水) 00:05:27.24 ID:I4Gvy1+q0.net] すいませんまったく理解できなくてすいません 低級言語っていうのは、できることは単純だが速度が速いという認識です。 バイナリになると一切無駄が無いので実質、最速の言語だということも知っています。 APIという高度な機能をもってC言語をコンパイルするというのがなぞすぎます。 すでに単純な命令を何故コンパイルという時間のかかる処理を施すのでしょうか?
264 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:06:52.76 ID:HY3LojxY0.net] >>243 > 大学では お前の大学の講義資料のURLを晒せ。 今時の大学なら(学外から見えるかはさておき)普通は上げてるだろ。 おかしいのがお前の頭か講義資料か先生かは切り分け出来る。
265 名前:デフォルトの名無しさん [2018/09/26(水) 00:08:13.65 ID:nZ7x0XR+0.net] まずいまどきアセンブラなんか手書きでなんか書かない C言語をコンパイルするとアセンブルしてしてアセンブラをコンパイルする す
266 名前:驍ニ実行モジュールができる(コレがチミがバイナリと読んでるものになる) WinAPIやDirectX APIはOSが提供するアプリケーションインターフェースになる それをさっき書いたC言語から利用することができる で、C言語に限定されないが、そういった開発を 知恵遅れでもできる環境を提供するのがIDEとよばれるものだ 当然、viでコードやmakefileをシコシコ書いてコンパイルするのもありだが 今時いちいちそんなめんどいコトやってるヤツは希少種といっていい とりあえず今ココではJavaはおいとく [] [ここ壊れてます]
267 名前:デフォルトの名無しさん [2018/09/26(水) 00:09:35.96 ID:I4Gvy1+q0.net] なんか根本的な事を教えてくれて泣けてきます wiki見ても端折ってばかりで理解できなかったんで嬉しいです でもそれでも分かりません…
268 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:09:53.01 ID:h9A6ffHl0.net] >>255 すみません、APIをコンパイルではなくAPIをリンクの間違いでした。
269 名前:デフォルトの名無しさん [2018/09/26(水) 00:11:25.00 ID:I4Gvy1+q0.net] 知恵遅れでもできる環境 僕が使ってるのはCygwinとVisualStudioですね 学校の課題はCygwin推奨ですが、何故かVisualStudioも入れられましたw
270 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:13:32.35 ID:OuxizmKlM.net] >>258 まず、windowsAPIはC言語等の関数として提供されてるのはわかる? そんでその関数のソースコードは公開されていない。だから、自分が書いたソースコードだけをmacに持っていってもソースコードが足りないので動かない。 仮にソースコードを手に入れたとしても、内部でwindowsのカーネル(コアとなるソフト)だけが提供している機能を利用使って実装されているから、やはりmacに持ち込むことはできない。
271 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:14:11.60 ID:HESLqYz40.net] >>260 余談だけど、半角カナにこだわりのある通称半角クンに知恵遅れとか言われても気にする必要ないぞ。彼にとってただの二人称代名詞だから。
272 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:16:23.80 ID:0JN26GcE0.net] >>257 ワイは希少種やったんか 世間じゃカーネルモジュールはどんな開発環境でやってるんや?
273 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:17:32.29 ID:h9A6ffHl0.net] オレが書いたC言語のプログラムを機械語に変換すればようやくコンピュータで実行できるようになります。 APIは既に機械語に変換されているか、オレの書いたC言語と一緒に機械に変換されてからオレの機械語と結合して使われます。
274 名前:デフォルトの名無しさん [2018/09/26(水) 00:17:40.67 ID:I4Gvy1+q0.net] >>261 まったく分かりません WinAPIがC言語が混ざったらもう何がCでAPIなのか もうわけわかりません
275 名前:デフォルトの名無しさん [2018/09/26(水) 00:18:24.20 ID:nZ7x0XR+0.net] で、javaはコンパイルするとバイトコードに変換される で、そのできあがったバイトコードはJavaVM(コレがチミがバイナリと読んでるものになる)で動かすことができる 昔のpascalのpコードのパチモンと考えればいい そっから、さらに進んでバイトコードをjitコンパイラでコンパイルするしくみもあったりする それ使うと実行モジュール(コレがチミがバイナリと読んでるものになる)ができてしまったりもする ただ、その実行モジュールはターゲットマシンでないと動かない で、当然、javaもeclipseみたいなIDE使って開発できる わかった?
276 名前:デフォルトの名無しさん [2018/09/26(水) 00:18:39.07 ID:ZP32HEFJ0.net] >>255 低級・高級(Low-Level/High-Level)は 言語体系がハードウェア実装=CPUに近いか 人間語に近いかどうかの話で 性能とは一切関係がない (という話は確実に教科書に書いてあるはず) CPUはバイナリしか解釈しないから どんな言語を使ってもコンパイル作業が要る
277 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:22:18.55 ID:OuxizmKlM.net] >>265 とりあえず、Cで何度かプログラム書いてみたらいいんじゃないかな。 知識だけ身につけると頭でっかちになっちゃうからね。
278 名前:デフォルトの名無しさん [2018/09/26(水) 00:23:21.36 ID:I4Gvy1+q0.net] >>267 C言語は言語の中では最速だというのは教科書に書いてましたよ
279 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:24:33.00 ID:T1RBGvug0.net] >>265 Cで書いたソースの多分先頭
280 名前:t近に並んでいると思う #include で始まる行の部分だけでも公開してみて WindowsAPIの為に入っている行を取り除けば (このままではコンパイルエラーになるかも知れないが) Wacに持っていく入り口にはたどり着ける [] [ここ壊れてます]
281 名前:デフォルトの名無しさん [2018/09/26(水) 00:26:15.28 ID:nZ7x0XR+0.net] たとえばmacで WinAPIと同じインターフェースもつ同じ機能のAPI(書くことができるかどうかは別ににして)を Cで書くとmacでwindowが動く 時間があるならついでに なんで、POSIXというもんがあるか調べてみるといい
282 名前:デフォルトの名無しさん [2018/09/26(水) 00:26:28.94 ID:I4Gvy1+q0.net] >>270 #include<stdio.h> int main(void) { 〜中身〜 } です。 int main stdio.h の二つはおまじないと聞きました
283 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:31:29.48 ID:T1RBGvug0.net] >>272 ホントにそれだけなら、そのまま Macに持って行けるんじゃないか? あとはMac側でコンパイラが使えるかどうか、だな VCでないと困る事ある? MacでやるならXcodeと言うのを使った方が良いように思うが
284 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:32:08.86 ID:OuxizmKlM.net] 最初にWindowsAPIなんて言い出したやつは出てこい!! ドッカン ゴガギーン _ ドッカン ☆ ===( ) / `∧∧_||___ ∧∧ ( )||| |(Д`) f ⌒~ || || \ | / ̄ | |/| / / | | | ヘ/\|_/ / | | ロ|ロ\/\(_ノ) ( (_ \ | | Y / | ||\ ヽ| | || | || / / | | || | ||/ /_|___| || (_(_) (__)
285 名前:デフォルトの名無しさん [2018/09/26(水) 00:32:38.48 ID:nZ7x0XR+0.net] そういうコードだったら macでコンパイルしなおせば 普通に動くハズ
286 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:33:06.80 ID:HESLqYz40.net] >>269 C言語が速いんじゃないんだよ。 C言語で書かれたソースをコンパイルして生成されたバイナリコードが速いんだよ。それはCPUが直接実行できる形式だから。 別に他の言語でも、コンパイルしてバイナリコードが生成できるものは、本質的にはCと同じ。 遅いのは、バイナリコードを生成せずに、その言語固有のコードを生成して、それを別のプログラムが解釈しながら実行するようなタイプの言語だよ。例えばJAVAのような。(実行時コンパイルとかはこの際おいておく)
287 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:33:58.19 ID:0JN26GcE0.net] >>272 おまじないは一個要らへんで $ cat test-printf.c int main(void) { printf("Hello\n"); return 0; } $ gcc test-printf.c 2> /dev/null $ ./a.out Hello
288 名前:デフォルトの名無しさん [2018/09/26(水) 00:34:42.00 ID:ZP32HEFJ0.net] >>269 それは教科書がおかしいか誤読してると思われる 「現代の高級言語の中では最速のバイナリをビルドできることが多い」 とかならまあありだが
289 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:37:18.40 ID:3GYry5Z9a.net] OSによって動くコード(アセンブリ)が違う CでもC++とかで書いたコードをコンパイルする時にその対象のOSで動くように機械語に変換される なので同じCやC++のコードでもコンパイルできれば動くプログラムが作成できる しかし、標準ライブラリ以外はその対象OS用に用意されていない場合もあるのでそういうライブラリを使用した場合コンパイルが出来ない
290 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:37:56.89 ID:tnf9UX1gM.net] ちょっと教科書名教えてくれwww
291 名前:デフォルトの名無しさん [2018/09/26(水) 00:38:29.20 ID:ZP32HEFJ0.net] てかレポート出すような講義で「おまじない」で済ますもんなのか最近は 最初の質問もexeをそのままMacに持っていって動きますか?だったのかも
292 名前:デフォルトの名無しさん [2018/09/26(水) 00:43:17.15 ID:nZ7x0XR+0.net] cygwin入ってると書いてあった きっとgccもはいってるハズ 手動でコンパイルすればすぐに実行モジュールができるハズ
293 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:45:01.24 ID:9UO6BO9+0.net] >>232 標準入力やファイルからテキストのデ
294 名前:ータを読んで計算してから標準出力またはファイルに出力するような ほとんど計算しかしないようなやつなら何一つ変えずにコンパイルできる可能性がある。 しかしGUIで入力を受け付けてGUIで結果表示みたいな作りの場合はその部分だけMacに合わせて変更する 必要があると思う。(もし互換性のあるライブラリがあるのであればそれをリンクすればなんとかなるが)。 [] [ここ壊れてます]
295 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:45:48.08 ID:9UO6BO9+0.net] しまった。リロード忘れて書いてしまった。
296 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 01:37:55.43 ID:P+3GV8ah0.net] バイナリは、各CPU に固有のもの。 intel・AT&T では逆に書く ; for intel syntax mov eax, 1 # for AT&T syntax mov $1, %eax これらを抽象化する層、仮想アセンブラのLLVM ができた C → LLVM → 機械語
297 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 02:25:42.64 ID:p8TYnMT50.net] テキストファイルを#includeしたりするのっておもしろそうと思った。 #include "file.txt" 使い道がほとんど思いつかんけど。 正規化されたcsvファイルなら有用かもしれない。
298 名前:デフォルトの名無しさん [2018/09/26(水) 02:56:13.26 ID:9UO6BO9+0.net] >>286 XPM や XBM フォーマットの画像ファイルは中身がテキストファイルでC言語になっているので、 プログラム中で使いたい時に #include で読むなんてことを昔やった事がある。 今でも画像を編集するソフトではそういうフォーマットに対応しているのがあるかも知れない。 あったら画像をファイルに保存後に中身をテキストエディタで見てみると良い。 XBM sei.qee.jp/docs/graphics/xbm/index.html https://en.wikipedia.org/wiki/X_BitMap XPM https://ja.wikipedia.org/wiki/XPM
299 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 02:57:00.82 ID:tnf9UX1gM.net] ただしコンパイルはできるかな?
300 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 03:16:42.67 ID:p8TYnMT50.net] XPMか。FVWMあたりのソースコード見れば実際に利用してるところがあるかもね。 なぜFVWMかと言うと ある程度小さくて読みやすいかなと思ったから。
301 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 04:48:38.00 ID:p8TYnMT50.net] ていうかさ なんで #include "file.txt" なんていうことをやろうかと思ったかというとさ, よくアプリケーションのオプションで--helpみたいなオプションがあってそれを指定すると 標準出力にヘルプ情報を吐き出すじゃない。 で,普通それを実現するには,print_help()関数みたいなのを作って その中で puts("Usage: xxx [-dx] <file>..."); ↑こういうのをずらずら書きならべると思うんだよ。 git.savannah.gnu.org/cgit/hello.git/tree/src/hello.c#n127 ←こんな風に。 で,そのヘルプファイルを外部ファイルにできないかな〜と思ってさ。 print_help() { puts(" #include "help.txt" "); return 0 } こういう感じで。もちろんこれはコンパイルエラーになるけど。
302 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 06:52:38.46 ID:ME0063O80.net] 普通にfopen(),fgets()しろよ
303 名前:デフォルトの名無しさん [2018/09/26(水) 07:02:15.89 ID:KRhEkOMN0.net] ,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;; {;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; #include "file.txt" ヾ;;;ハ ノ .::!lリ;;r゙ `Z;i 〈.,_..,. ノ;;;;;;;;> そんなふうに考えていた時期が ,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f. 俺にもありました ~''戈ヽ `二´ r'´:::. `!
304 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 07:12:11.89 ID:Ozpnqin20.net] argv[0]を使わずにusage表示するやつ嫌い
305 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 07:27:14.31 ID:3KpC5Lnu0.net] >>291 実行ファイル内に組み込みたいんじゃないの
306 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 07:40:06.18 ID:slacS0cU0.net] includeするファイルの拡張子が.hか.txtなんて関係ないよな。 中身がCのコードとして解釈できるかどうかだけで。
307 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 09:03:42.94 ID:X1sPOZNr0.net] >>293 おれは好きだよ argv[0]の長さとかわからないし、不安になるもんね
308 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 09:06:37.66 ID:3KpC5Lnu0.net] 独学で始めたての頃はリンカを知らなかったから、.c も全部 include してまとめてコンパイルしてたw
309 名前:デフォルトの名無しさん [2018/09/26(水) 09:48:26.11 ID:QtvShas/a.net] >>293 かといって argv[0] って必ずプログラムファイルへのフルパスの文字列になってる保証はないよな? UNIX系OSだとexecに渡す引数は実行するプログラムへのパスとargvの配列は別に指定できるしシェルは自身がログインシェルとして起動されたかどうかをargv[0]利用して判別してるし。
310 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 09:54:31.75 ID:+QPOg/oyM.net] 組み込みでreal型を使うメリットってなんでしょうか? floatやdouble型との違いを教えて頂けないでしょうか?
311 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 09:58:20.00 ID:wpdgBSuMa.net] 「パス」は正しくないでしょ ユーザがシェルに入力した文字列が入るわけで
312 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 10:04:04.84 ID:wpdgBSuMa.net] real型ってなんだ? D?
313 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 10:17:13.10 ID:Ozpnqin20.net] >>298 フルパスである必要はない そんなのはwhichで出るから重複もいいとこ
314 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 13:07:42.63 ID:tnf9UX1gM.net] 好きか嫌いかより規格で語れよ!!
315 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 13:15:13.67 ID:GcxNqKYyM.net] で?
316 名前:デフォルトの名無しさん [2018/09/26(水) 17:10:26.81 ID:dsR47lxwa.net] >>302 argv[0] が "-" だったらどうするよ。
317 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:10:59.41 ID:p8TYnMT50.net] まあやっぱり#include "file.txt"なんて常人は考えねーよなw いろいろすまんかった。
318 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:23:34.23 ID:T1RBGvug0.net] >>306 使い道はあるよ 多量のマクロ定義リストを読ませるとか
319 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:27:31.74 ID:lDpRvfaq0.net] ビットマップを本体のコードに埋め込むのに char data[] = { #include "bitdata.inl" }; とかやった。 bitdata.inl は別のソフトで生成
320 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:33:26.10 ID:lncCaYQKM.net] >>308 disるつもりはないし状況も分からんのだけど、バイナリデータをコードに埋め込んでコンパイルかけるのは筋が悪いような?
321 名前:デフォルトの名無しさん [2018/09/26(水) 17:35:54.43 ID:dsR47lxwa.net] XPMやXBMみたいなテキストなんだろ
322 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:36:31.54 ID:cOtTFh6NM.net] >>306 file.txt を C の文字列にした file.c なり file.h なりを作る簡単なスクリプトなり書いて、make ファイルでそれが動いて取り込まれるようにすりゃいいんじゃね。 usage: -h help -u unko みたいなテキストを #define USAGE "¥ usage:¥n¥ -h help¥n¥ -u unko ¥n¥ " みたいな define か何かにすればいい。
323 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:37:28.54 ID:T1RBGvug0.net] 大量のテーブルデータをマクロ型式で記述して includeの直前でマクロを望む内容で定義すると便利
324 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:40:44.37 ID:lDpRvfaq0.net] >>309 (Windowsの話) ライブラリを作ってるときに、そこで使いたかったんだが(ImageList) リソースというわけにもいかず、ファイルを読み込むのもライブラリ化の意図からずれるし で 埋め込んだのよ 簡単に肥大化するから筋が悪いのは半分承知
325 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:41:52.02 ID:lDpRvfaq0.net] ああ 件のファイルは 0x○○, 0x○○, … なテキストの
326 名前:tァイルです [] [ここ壊れてます]
327 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:50:39.66 ID:lncCaYQKM.net] >>313 ああ、なるほど。 まぁ俺も組み込みでビルド番号を自動生成してソースにincludeで組み込むこともあるので人のことは言えないけど。
328 名前:デフォルトの名無しさん [2018/09/26(水) 20:19:36.31 ID:I4Gvy1+q0.net] WindowsAPIを機械語にするソフトを機械語にするソフトを機械語にするソフトを… って考えたらまた頭が混乱してしまいました…
329 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 20:25:14.53 ID:07am72nua.net] APIとはインターフェースである。 見えるのは表面だけで中身なんてどうなってるかわからない。
330 名前:デフォルトの名無しさん [2018/09/26(水) 20:29:26.48 ID:I4Gvy1+q0.net] CのコンパイラはWinAPIでしかかけないってことですか?
331 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 20:41:32.38 ID:zSos1f990.net] Advanced windows買って読め じゃ乱暴か…
332 名前:デフォルトの名無しさん [2018/09/26(水) 20:43:53.50 ID:MrbR9bENa.net] >>316 まずはWindowsAPIとは何なのかを調べろ。話はそれからだ。
333 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 20:45:37.17 ID:p8TYnMT50.net] >>311 にゃるほど。 まあ それでもいいんだけど,結局変換の手間があるんだよね。 しかし一度でも.hか.cファイルを作ったらあとはそれを#includeすれば 複数のファイルに使えるってのは有用かもしれん。 Usageでは↑複数には適用できないけど,ライセンスとか。
334 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 21:08:33.17 ID:07am72nua.net] Cのコンパイラがpythonで書かれていようと俺は一向に構わんがインターフェースでどうやって書くのかは知らない
335 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 21:29:52.27 ID:h9A6ffHl0.net] >>316 最初のコンパイラは人間が手入力でバイナリを書いた
336 名前:デフォルトの名無しさん [2018/09/26(水) 21:40:12.24 ID:I4Gvy1+q0.net] >>322 CをコンパイルするのはWindowsAPIって昨日聞きましたが? C自体では動かないのだからWindowsAPIでコンパイルするのでは?
337 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 21:45:31.26 ID:T1RBGvug0.net] >>324 誰もそんな事言って無いだろう 探したけどないぞ、そんなの
338 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 21:48:20.48 ID:Jt0rVGX10.net] いい加減、釣りだと気づけよw てかみんな気付いた上で相手してるのか。
339 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 21:49:37.93 ID:h9A6ffHl0.net] >>324 Winapiでコンパイルじゃなくてwinapiとリンクと間違いだったって言ったやん
340 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:07:50.72 ID:MrhohV/JM.net] >>323 流石に最初のコンパイラはアセンブリ言語だろ 最初のアセンブラはバイナリ入力しただろうけど
341 名前:デフォルトの名無しさん [2018/09/26(水) 22:09:29.37 ID:I4Gvy1+q0.net] コンパイラはWindowsAPIの実装を知ってる人じゃないと作れないってことですか? よくコンパイラ入門なんて本あるけど作れるんでしょうか?
342 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:18:36.87 ID:T1RBGvug0.net] WindowsAPIは直接コンパイラとは関係ない
343 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:22:27.92 ID:Ozpnqin20.net] >>305 さあねえ どうしろって言いたいの?
344 名前:デフォルトの名無しさん [2018/09/26(水) 22:33:54.33 ID:I4Gvy1+q0.net] WinAPIはインターフェースだけを提供していて実装は分からない つまりコンパイラを考える人はMicrosoftの開発者だけってことですか? それだとコンパイラ入門ってどういうことなんでしょうか?
345 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:40:30.36 ID:07am72nua.net] 1950年代にもうそれなりのアセンブリあるんだからすごいよね。 みんな頭いいんだな。
346 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:41:00.36 ID:T1RBGvug0.net] >>332 君はコンパイラを使いたいのか それともコンパイラを作りたいのか
347 名前:デフォルトの名無しさん [2018/09/26(水) 22:44:12.95 ID:I4Gvy1+q0.net] すいません 正直話すと レポートってのは2年のとき落とした履修で 今は卒論でコンパイラ作りたいんです… つまりダブルということになります…
348 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:48:53.63 ID:cOtTFh6NM.net] >>335 とりあえずアセンブラでも作ってみたら。 コンパイラ作るよりずっと簡単だけど、いろいろ学べることは多いと思うよ。
349 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:52:02.96 ID:DUFIzm4n0.net] コンパイラ作るだけならCのソースからアセンブリ言語に変換するプログラムを書くだけなのでWinAPIは関係ない話
350 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 22:55:42.96 ID:h9A6ffHl0.net] >>328 アセンブラも広義ではコンパイラだろ こまけえな
351 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:00:17.80 ID:07am72nua.net] 速度とか高級低級云々の話はインタプリタを持ち出した方が良かったのかね。 抽象的な機能を提供するという点ではAPIも近いところはあるね。
352 名前:デフォルトの名無しさん [2018/09/26(水) 23:04:55.14 ID:I4Gvy1+q0.net] >>337 例えばprintf関数のアセンブリは どのOSだろうが一緒なんですか?
353 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:05:53.49 ID:s3sau8dm0.net] >>338 > アセンブラも広義ではコンパイラだろ 全然違うしw 雑すぎるわ
354 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:07:11.91 ID:h9A6ffHl0.net] >>341 うるせえよ 意味伝わってんのにネチネチ粘着すんなよダリい奴だな
355 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:10:27.33 ID:h9A6ffHl0.net] >>340 違うよ OS毎にprintfのバイナリが用意されてて おまえが書いたコードをコンパイルしてからそいつとリンクして繋げるだけ
356 名前:284 mailto:sage [2018/09/26(水) 23:12:49.78 ID:P+3GV8ah0.net] >>285 ここに書いた バイナリ・機械語は、各CPU に固有のもの。 intel・AT&T では逆に書く 開発者は、各CPU 毎にプログラミングできないから、 仮想アセンブラのLLVM ができた
357 名前:デフォルトの名無しさん [2018/09/26(水) 23:15:29.87 ID:I4Gvy1+q0.net] >>343 ちょっと複数のPC勝ってアセンブリ確認してみますw 例えばWindows98とWindowsMEとかでも厳密に言えば アセンブリが違うかもしれないってことですよね
358 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:17:41.51 ID:h9A6ffHl0.net] o.8ch.net/1a1i1.png
359 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:23:11.54 ID:VlfJEAqXa.net] >>335 コンパイラがそもそもどんな物かも分かってないんだから、コンパイラを作ろうなんて考える前に、コンパイラを使ってごく普通の簡単なアプリケーションプログラムを作って何をやってるのか理解しなよ。 studioやmainがおまじないだとか言ってるレベルで無謀過ぎるぞ。
360 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:24:21.49 ID:8QQNIK9ea.net] stdioの誤記です
361 名前:デフォルトの名無しさん [2018/09/26(水) 23:29:31.07 ID:I4Gvy1+q0.net] >>347 なんか分かりました コンパイラっていうのは9割型共通のルールのpushやmoveでかけるアセンブラ をOS向きにさらに改良するってことでしょうか… 自分でprintfのアセンブラを書いてコマンドプロンプトで実行してみます さて何行になるやらですが
362 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 23:39:57.62 ID:tnf9UX1gM.net] こんなタイミングでIDって変わるもんなの
363 名前:デフォルトの名無しさん [2018/09/26(水) 23:44:08.19 ID:nZ7x0XR+0.net] オマエ、分かってて このスレの低学歴知恵遅れをおちょくってるだろ しかもちゃんと罠もしかけてる オマエが思ったとおりこのスレの低学歴知恵遅れはちゃんと答えれない まずこのこのスレの低学歴知恵遅れは 実行モジュールがどういったもんか分かってないからな
364 名前:デフォルトの名無しさん [2018/09/26(水) 23:49:25.75 ID:nZ7x0XR+0.net] レスをみても分かるとおり 低学歴知恵遅れはなにも分かってないくせに 分かってるふりするのが精一杯 低学歴知恵遅れ特有のレスをしている オマエは低学歴知恵遅れを陰湿にいじめてる
365 名前:284 mailto:sage [2018/09/26(水) 23:59:09.60 ID:P+3GV8ah0.net] そもそも、Windows だけでも、64/32 ビットCPU で、 CPU の命令の、サイズ・種類などが異なる i3, i5, i7 など高額・高機能になるほど、 3D・動画のコーデック命令なども付け加えられているから、処理速度は速くなる そういう命令がないCPU では、ソフトウェアで実行されるから、すごく遅い
366 名前:デフォルトの名無しさん [2018/09/27(木) 00:12:48.47 ID:pq96CSzd0.net] きっとなこのスレの低学歴知恵遅れは PEフォーマット、EXEフォーマットとかも知らない Windows APIがDLLの関数であることも分かってない この低学歴知恵遅れは コンパイルしたソースをマシンコードにしたものだけが格納されてると思ってる レスみればほぼ間違いない
367 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 00:16:16.06 ID:GWQb325r0.net] まーた半角クンが湧いちゃったじゃないか。 変な正確でも,言うことが正しければいいんだが, こいつの話は間違った無根拠なものばっかりだからなぁ……。
368 名前:デフォルトの名無しさん [2018/09/27(木) 00:17:47.16 ID:pq96CSzd0.net] じゃあオマエが質問にオマエが答えてみ オレは常にスキがないほどカンペキなレスしか書いてないからな
369 名前:デフォルトの名無しさん [2018/09/27(木) 00:18:53.88 ID:pq96CSzd0.net] まずこのスレにいるような程度のヤツラではムリ はっきりといえる
370 名前:デフォルトの名無しさん [2018/09/27(木) 00:21:06.23 ID:pq96CSzd0.net] こういとこでもな 低学歴知恵遅れであることは隠せない
371 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 00:55:00.60 ID:fxNPrOWH0.net] >>342 バカはこれだから w
372 名前:デフォルトの名無しさん [2018/09/27(木) 01:21:44.64 ID:pq96CSzd0.net] 質問してるヤツの質問が このスレにいるような低学歴知恵遅れには高度すぎた しょうがない
373 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 02:26:11.63 ID:mRs+7RE20.net] >>326
374 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 09:17:03.76 ID:Zeo03I1R0.net] > なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ? たぶん俺じゃないってとぼけるだろうな
375 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 11:29:18.01 ID:XEXpxXRW0.net] >>354 それについては >>250 にも書いてるようなOSに対応したの部分にその意味も含めたつもりです。少なくともオレはそれを意識して書いた
376 名前:デフォルトの名無しさん [2018/09/27(木) 12:40:10.03 ID:U92lHhY6a.net] >>331 この話の元は>>293 なのでどうすんのかなと思ってな。
377 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 13:02:52.87 ID:rIrQdVdgM.net] 法的(笑)
378 名前:330 mailto:sage [2018/09/27(木) 16:30:52.70 ID:Zeo03I1R0.net] >>364 おまえ304か? strcmp(argv[0], "-") == 0のときに printf("%s", argv[0]); を実行した場合は - と出力されるのが何かまずいのかと聞いているんだ 答えてくれ
379 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 16:57:20.64 ID:WzI0x/ML0.net] "-"のときなら全然まずくないけど、1MBとか1GBくらいの0無しバイナリだと ちょっと不機嫌になるよね
380 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 17:34:58.79 ID:GWQb325r0.net] ファイル名を使った攻撃とかできそう
381 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 18:22:43.20 ID:mzM5OoPla.net] >>347 スタジオドットエイチって覚えてる人にありがちな間違いだな
382 名前:デフォルトの名無しさん [2018/09/27(木) 18:25:58.92 ID:0MoXCxtia.net] >>366 usageの意味がなくなるのでは? そんなもん気にしないってなら別にいいんだけどね。
383 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 18:52:27.42 ID:v62G+4TD6.net] ADI法(ノイマン境界条件)って具体的に何をすればいいのかさっぱりわからない そもそも2次元領域(0,L)^2での計算ってCプログラム上でどう構成すればいいんだろう…1次元はなんとかなったけど
384 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 18:54:30.86 ID:v62G+4TD6.net] と質問したかったけど数学寄りの話かな、スレチだったらすまん
385 名前:デフォルトの名無しさん [2018/09/27(木) 19:30:25.34 ID:+bSAjOWL0.net] 今日アセンブリを作ってコマンドプロンプトで動かしてみましたが無反応です moveとかのアセンブリはコマンドプロンプトは読み込めないんですか?
386 名前:デフォルトの名無しさん [2018/09/27(木) 19:30:51.34 ID:etRlHd3dp.net] 靄https://i.imgur.com/Pg8FdUT.jpg Helloしか出力されないんですけど、どうすれば治りますか?
387 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 19:35:33.53 ID:Q55DNguR0.net] >>374 端末が受け取ってないだけとか? printf("%lf\n", pi/a); にすれば出力される可能性が高い。 動作環境特有の話かもな
388 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 19:39:41.84 ID:etRlHd3dp.net] >>375 返事ありがとうございます。 結果は変わりませんでした。 環境はターミナルです。
389 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 19:45:28.08 ID:Q55DNguR0.net] print だからフォーマット指示は %f か 他に理由がおもいうかばにゃい
390 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 19:52:24.14 ID:YhkMlANsp.net] z=pi/aとおいてzを出力させるんじゃダメなのか
391 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 19:58:12.16 ID:ul07XbU+a.net] lとoの間辺りに%f置いてみれば
392 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 20:05:05.17 ID:rwW0e8CF0.net] >>376 問題なさそうなんだけどね。 https://ideone.com/kZ5gKx
393 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 20:11:45.43 ID:WRRv4FYM0.net] printf("%lf¥n",pi/a); ってやってみたら?
394 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 20:12:24.71 ID:3JRfbUkA0.net] gdbか何かで止まってるって落ちはないよね?
395 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 20:12:41.87 ID:etRlHd3dp.net] すみません。今電車の中なんで、家に帰ったら全方法を試します。
396 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 20:13:00.51 ID:etRlHd3dp.net] 皆さんアドバイスありがとうございます。
397 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 20:13:49.60 ID:zXUlvxZ1M.net] だれもMac持ってねぇのかwww いや俺もだけどww
398 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 20:15:03.16 ID:zXUlvxZ1M.net] 連投ですまんがまさかコードだけ更新してコンパイルし直してないとか 初学者あるある
399 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 20:17:54.71 ID:Q55DNguR0.net] どこから Macの環境に限定できるのか俺にはよくわからん
400 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 20:22:16.63 ID:rwW0e8CF0.net] >>387 左上の黄色と緑の丸
401 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 20:23:07.84 ID:rwW0e8CF0.net] Macでやっても出力は同じだよ
402 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 20:23:31.86 ID:3JRfbUkA0.net] >>386 きっとソレダ
403 名前:デフォルトの名無しさん [2018/09/27(木) 20:28:13.50 ID:0MoXCxtia.net] 左上の黄色と緑の点かな?
404 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 20:28:23.35 ID:Q55DNguR0.net] >>389 ですよねー
405 名前:デフォルトの名無しさん [2018/09/27(木) 20:29:31.61 ID:0MoXCxtia.net] リロードせずにゆっくり書いてたらほとんど同じ書き込みが既にされていたorz
406 名前:デフォルトの名無しさん [2018/09/27(木) 21:28:23.17 ID:pq96CSzd0.net] 最後に fflush(stdout); と書けばきっと出力される やってみ
407 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 21:32:36.13 ID:Zeo03I1R0.net] >>367 全然意味がわからない お前は何を言っているんだ? >>370 なぜ意味がなくなるんだ?
408 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 23:48:28.04 ID:RQl7S0Gm0.net] 来たよーム板に。
409 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 08:16:40.85 ID:TLhVFQk50.net] sed -e 's/.*/"&\\n"/' < USAGE > USAGE.c として #include "USAGE.c"
410 名前:デフォルトの名無しさん [2018/09/28(金) 09:31:20.28 ID:ctzrbTkBa.net] >>395 だってコマンドの使い方の説明にならないじゃん。
411 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 10:24:36.39 ID:RVKB6eOl0.net] >>398 - という語句は予約されていると言いたいのか?
412 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 13:21:05.27 ID:TLhVFQk50.net] somecmdというアプリケーションがあったとして Usage: somecmd [--option] <file>... こういう出力を printf("Usage: %s [--option] <file>...\n", argv[0]); まあこういう感じ(もうちょっと変数やらをはさむかも知れんが)で出力するときに argv[0]がsomecmdじゃない場合がけっこうあるってことじゃないの? そしてそういう場合にUsage: ...の形式が壊れるんじゃないか,と。
413 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 13:22:39.05 ID:X1M2oU/e0.net] >>400 結構あるって、例えばどういう操作をする場合だろうか?
414 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 13:23:29.81 ID:TLhVFQk50.net] しかし俺が思うのは,そういう場合にはたして--helpを参照するかな。 argv[0]!="somecmd"の場合ってmain関数を他のプログラムから呼び出すとかそういう場合でしょ。 その時は,そのプログラムのUsage: ...が欲しい訳だから結局somecmdのUsage: ...なんて出力する必要ないでしょ。
415 名前:デフォルトの名無しさん [2018/09/28(金) 13:24:49.39 ID:6mi1IA73a.net] >>399 え?もしや - というコマンド作った場合の話? そういうことではなくて argv[0] は起動する側が自由になんでもセットできるからコマンド名になってる保証はないという話だよ。 まあ普通のシェルから起動する場合には大丈夫だろうけど、環境によっては何も入ってないかも知れないし保証はできない。
416 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 13:33:55.41 ID:X1M2oU/e0.net] 何でもセットできる場合って、 そういう環境では0に限らず、 argv配列を使えないって事だよね
417 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 13:38:19.13 ID:s+4Nw5Rza.net] busyboxってargv[0]で振り分けてんの?
418 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 13:55:27.31 ID:25C/+Q0qM.net] >>403 そんな変な環境使ったことないからどうでもいいや
419 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 14:22:34.06 ID:X1M2oU/e0.net] > 二つの仮引数を定義する場合,関数 main の仮引数は,次の制約に従わなければならない。 >- argc の値は,非負でなければならない。 >- argv[argc]は,空ポインタでなければならない。 >(中略) >- argc の値が正の場合,argv[0] が指す文字列は,プログラム名(program name)を表す。 > ホスト環境からプログラム名を得ることができない場合,argv[0][0] は,ナル文字でなければ > ならない。 JIS X3010:2003 5.1.2.2.1 だそうです。
420 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 16:10:35.86 ID:mp2jkAzV0.net] argv[0] にはパスも含まれ得るし、シンボリックリンクから起動されれば実体の名前ではなくなるけど、usage にコマンド名としてコマンドライン上のコマンドパスを表示したいの?
421 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 17:12:54.15 ID:08RUBfsA0.net] 呼ばれた名前でusageわざわざ変えてるコマンド見たことないな せいぜい例示コマンドが呼ばれた名前に変わってるくらい
422 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 17:16:02.91 ID:08RUBfsA0.net] ゴガギーン ドッカン m ドッカン =====) )) ☆ ∧_∧ | | / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( )| |_____ ∧_∧ < おらっ!出てこい>>383 「 ⌒ ̄ | | || (´Д` ) \___________ | /  ̄ | |/ 「 \ | | | | || || /\\ | | | | | へ//| | | | | | | ロ|ロ |/,へ \| | | | | ∧ | | | |/ \ / ( ) | | | |〈 | | | | / / / / | / | 〈| | | / / / / | | || | | / / / / =-----=-------- | |
423 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 18:30:23.06 ID:mFoW6O3i0.net] 実行ファイルをリネームしてもusageが使えるとか シンボリックリンクで別名作っても大丈夫とか
424 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 18:42:59.76 ID:6WLCN0vmp.net] >>410 https://i.imgur.com/wgOfjjh.jpg https://i.imgur.com/FL413Fu.jpg 課題で忙しくて、返信できませんでした。半泣きになりながらやってました。 本当にすみません。今からやってみますね。
425 名前:デフォルトの名無しさん [2018/09/28(金) 18:46:59.61 ID:a9B9WfnIa.net] >>410 きっとシベリア鉄道に乗っていてまだ家に着いていないのだろう。
426 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 18:52:40.13 ID:s+4Nw5Rza.net] >>412 きったねえソースだな
427 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 18:59:04.08 ID:6WLCN0vmp.net] https://i.imgur.com/Yc7Gep8.jpg 画面が汚くて申し訳ございません。 gccコマンドで実行ファイルをその都度作成しなかったのが原因でした。
428 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 19:00:30.32 ID:6WLCN0vmp.net] >>414 具体的にどこが汚いですか?
429 名前:デフォルトの名無しさん [2018/09/28(金) 19:05:03.12 ID:a9B9WfnIa.net] >>411 UNIX系OSでは compress, gzip, bzip2, xz とかの圧縮コマンドが自分が何のコマンドで動かされたかによって動作変えてるね。 同じ実行形式のバイナリを例えば gzip なら gunzip にリンクしておいてそれを実行すると gzip -d と同じ動きになる。
430 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 19:06:09.19 ID:mFoW6O3i0.net] >>416 本気にしなくて良いぞ
431 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 19:07:43.61 ID:s+4Nw5Rza.net] >>416 まるでCみたいだ
432 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 19:11:08.13 ID:6WLCN0vmp.net] >>419 c言語をずっと使ってきたので、その名残があるかもしれません...
433 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 19:16:14.15 ID:/54mTdmW0.net] ずっと使ってきたのならなんで素人レベルのミスしてるのw
434 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 19:19:45.55 ID:6WLCN0vmp.net] >>421 コマンドプロンプトの環境が初めてだったからです。
435 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 19:20:23.68 ID:08RUBfsA0.net] >>415 まあ初学者あるあるだなw 俺にも覚えがある 俺の予想が的中(>>386 )ということで今日から俺が半角ニキやで
436 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 19:27:09.29 ID:6WLCN0vmp.net] >>423 ありがとうございます!
437 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:52:19.80 ID:voc6Rn8M0.net] 256倍本に同じような話があったな
438 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 22:11:42.42 ID:S1GcH4lv0.net] >>403 gccとg++とか、grepとegrepとかあるやん 人間だって「陛下
439 名前:vと呼ばれたか「クズ」と呼ばれたかで同一人物でも行動ちがうだろ [] [ここ壊れてます]
440 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 23:19:48.69 ID:iWGXqAI10.net] >>415 いいフォントだな〜
441 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 23:58:56.90 ID:TLhVFQk50.net] Vimを使うんなら :syntax enable くらいしろ
442 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 01:10:11.80 ID:0yVwVmRZM.net] viewなんじゃねーの カリカリすんなよ Macじゃどうか知らんがワイのvimrcはターミナルがカラー対応してれば勝手にsyntax on て書いてるで
443 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 17:41:22.99 ID:XiPCev9Z0.net] Cってファイル毎のstaticが多くね? カプセル化だと思うが、それとか、do {} while(0)とか・・・ なして、そこまでしてCなんか使うんだべ?
444 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 17:48:39.58 ID:cLBgNyTBM.net] 自己満足に浸るため
445 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 17:52:30.71 ID:s4F/hYZia.net] 変数は少ない方がいいが、クラスのメンバー的なもんは仕方ないんじゃないか?どこかに書かないと。
446 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 19:04:51.98 ID:ZFQaS3Ne0.net] 基本情報のc言語ってどんくらいのレベルなの?今度受けようと思うんだけど
447 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 19:17:50.68 ID:oiqQJDSj0.net] >>430 今現在Cを使う理由は、以下しかない。 1. 最速のコードが欲しい 2. 最小のコードが欲しい 3, 他言語では出来ないほど細かく指示したい 4. 既存のCプロジェクトの継続 てゆうかマジで理工系であらかじめCを使うと分かり切っている奴以外は、 初心者がCを選択する理由はないから止めとけ。 あと、ここでこれまでやってた「動く/動かない」レベルのやりとりは、 大学の授業の先生や同級生に聞いた方が圧倒的に早いからそうしろ。
448 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 19:20:43.09 ID:vBAQmIFc0.net] >>434 C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが 簡単に生産されるようになってる。正直いって、C を選ぶ理由が C++ プログラマーを 追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。 C++ はトンでもなく悪い設計の元になりうる。どうせこの言語ではいつも STL やら Boost やら、その他ゲロゲロベロベロの「素敵な」ライブラリの機能を使って、 それがあんたのプログラムに「役立つ」んだろうが、以下のことが起きる: - うまく動かないときにもたらされる際限のない苦痛 (あと STL とか、特に Boost が 安定してるとか移植性があるとかいう奴は、どいつもこいつも大ウソつきで、 もはや笑えるレベルを超えている) - 非効率な抽象プログラミングモデルで、2年たった後にこれらが実はそんなに 効率的じゃなかったことに気づくケース。でもそのときにはすでに全部の コードがその素晴らしいオブジェクトモデルに依存していて、直すためには アプリ全体を書き直さなきゃなんない。 言いかえれば、唯一まともで、効率がよくて、システムレベルで使えて、移植性がある C++ ってのは、基本的に C で使える機能だけに限ったときなんだ。そして C だけに 限定するってことは、他の人がそれをめちゃくちゃにしないってことで、 ついでに沢山のプログラマが実際に低水
449 名前:準の問題を理解することができて、アホらしい 「オブジェクト・モデル」のたわごとを持ちこまないってことだ。 [] [ここ壊れてます]
450 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 19:29:15.10 ID:PLQNiWP00.net] >>434 ワンチップマイコンの組み込みソフトはC言語1択だけどな。 C言語は最低限のスキルとして習得しておくべき。
451 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 19:34:28.70 ID:oiqQJDSj0.net] >>435 俺はLinusの意見には同意だぞ。 ただ、それはC++が糞だと言っているのであって、Cがいいと言っているわけではない。 そして、俺が初心者に勧めるのはLL言語だ。(Ruby/Python/JavaScript/(PHP)) これらにはインタプリタ環境がある。それだけで初心者には全然違う。 それ以前に、型等の恩恵を受けたいのならC#の方が断然良い。 というか、後発言語はC言語の駄目な点を改良してきているのだから当然いろいろ優れている。 C++もこれに含まれる。だからC++も『正しく使えば』いい言語だ。 当たり前だがほぼ上位互換な訳でね。 >>436 ああ、それなら、以下を付け加えておこう。 5. C以外の環境がない
452 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 19:48:34.77 ID:PPHj/b7C0.net] #if 0 って今となっては不要だよね。 なぜならフレームワークを適当に設定することで開発用と製品用のコードを分離できるようになってるから VCSでブランチ切ってもいいし。
453 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 20:04:11.39 ID:oiqQJDSj0.net] >>438 つhttps://stackoverflow.com/questions/3630601/why-use-if-0-for-block-commenting-out/3631513 要するにブロックコメントをブロックでコメントアウトするのに便利、だそうな。 ルールでなら // に統一しろ、とか言われる所だな。 (VCSというか)今はGit全盛だが、勿論それらもなかった頃からCは全面的に使われていたので、 今となっては古い(原始的)と思える機能も沢山ある。 これは古い言語の宿命だからある程度致し方ない。 コーディングルールでも「あれは白黒ディスプレイの為の物」と言われているものあるだろ。
454 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 22:15:37.87 ID:UH1zl1PU0.net] >>436 ワンチップマイコンだとアセンブラも有力
455 名前:デフォルトの名無しさん [2018/09/29(土) 22:38:18.17 ID:gtdSXLh90.net] forthって組み込み系でもう使ってないの?
456 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 22:39:39.91 ID:s2JlOOSC0.net] >>441 使いやすい言語だとは思わないけどな
457 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 23:11:41.46 ID:X4waiIaR0.net] >>441 そもそも最近使われてるのを見たことない >>442 処理系が軽いのよ
458 名前:デフォルトの名無しさん mailto:sage [2018/09/29(土) 23:32:32.75 ID:ozlzkqfsa.net] postscriptは割と使ってるかもな。知らんが。
459 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 00:28:39.07 ID:YvS5SBel0.net] 今をときめくpythonの大部分がCだろ 便利なimport含めて
460 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 00:51:11.84 ID:QRI6I66L0.net] 最近プログラミングに熱意が持てなくなってきた だれかたすけて・・・
461 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 00:53:49.78 ID:mUWBdCHT0.net] 言語作ろうぜ あるいはハード作ろうぜ
462 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 13:35:46.44 ID:8vGviIsrM.net] ここのレベルじゃ無理
463 名前:デフォルトの名無しさん [2018/09/30(日) 19:56:21.83 ID:KPqVv5wd0.net] とりあえず昔のC++みたいにC言語へのトランスレーターで作っとけよ。
464 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 20:08:07.13 ID:pfgCoU5B0.net] 昔々、とあるマクロ言語を開発してた頃はyacc/lex(bison/flex)を使ってたんだが、今どきもこういうコンパイラコンパイラを使ったりするんだろうか?
465 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 20:08:42.93 ID:PasHsNHY0.net] >>441 ForthってMINDのベースって事くらいしか知らない
466 名前:デフォルトの名無しさん [2018/09/30(日) 20:25:52.96 ID:CSkWhxVk0.net] sedとかで十分なことでもgoでパーサ使う人はいるな
467 名前:デフォルトの名無しさん [2018/09/30(日) 21:41:15.10 ID:ZDEBOTA70.net] 質問です。 ソースが公開されてないライブラリを使用していまして その中に特殊なファイルを読み込む関数があります。 事情があってその特殊なファイルを暗号化して保存したいのですが 暗号化してしまうとそのライブラリの関数から直接読み込めません。 暗号を解除する関数を通してそれが一時ファイルを吐けば可能ですが 大量にあるので出来ればもっと良い方法があればそれを採用したいと思っています。 例えば暗号解除後そのままメモリをファイルの様に扱う等は出来ないでしょうか? よろしくおねがいします。
468 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 21:50:14.42 ID:pfgCoU5B0.net] >>453 OSが分かんないけどtmpfsとか駄目なの?
469 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 22:13:05.28 ID:vpsmo7Y3a.net] read/writeを包んじゃうとか。LD_PRELOAD的な。 実行中のメモリが読めるならなんでもありという気もするが
470 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 22:17:19.98 ID:ZDEBOTA70.net] >>454-455 さっそくありがとうございます!OSはWindowsです。 方法はありそうですね? 教えてもらったキーワードで自分でも少し調べてみます!
471 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 22:21:51.99 ID:6gTyS6vx0.net] そのライブラリの特殊なファイルを読み込む関数のインターフェースはファイル名を求めているのだろうか? それともファイルへのハンドルを求めているのだろうか? 前者と仮定してうまく凌ぐ方法はあんのかな? 名前付きマッピングオブジェクトかなんか?
472 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 22:25:01.08 ID:ZDEBOTA70.net] >>457 ありがとうございます。ファイル名です。 OSはWin10です。
473 名前:デフォルトの名無しさん mailto:sage [2018/09/30(日) 22:27:41.29 ID:ZDEBOTA70.net] tmpfsはWinだと使えないのですね?残念です。これはまさに理想的だったので。 LD_PRELOADは関数を上書きできるのですね。こちら更に調べてみます。
474 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 00:45:26.18 ID:0BEK1cUt0.net] どれもWindowsじゃ無理っぽいですね… tmpfsが使えれば一番よかったんですが。
475 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 03:15:04.29 ID:p5nbtFpra.net] FILE*で文字を直接参照するのと一旦文字の配列にコピーして参照するのとでは速度差はありますか?
476 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 04:00:25.04 ID:2PPz6CoJ0.net] コピーするのに、メモリ・時間を使うから、 コピーしない方が速い
477 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 05:28:57.52 ID:qsdLJDx40.net] >>461 コピーせずに直接参照ってどうやるの?
478 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 05:37:04.66 ID:kFV2gm8E0.net] >>460 WindowsでもRAMDiskは作れる(そういうツールがある)けど、エレガントな方法はファイル系のAPIをHookするって手もあるかな?
479 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 09:06:42.48 ID:Qvezncj/0.net] >>412 これなんてエディタ? 秀丸?
480 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 09:25:37.38 ID:bI30HRk50.net] Spyderだろ
481 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 09:27:43.52 ID:2PPz6CoJ0.net] メモリファイルは無いの?
482 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 09:33:21.48 ID:UNHR2HPsx.net] メモリマップトファイルが使えれば良いんだけど、バイナリ提供内部でファイル名で直接CreateFileしちゃってるなら難しいんじゃないかな? 俺が知らないだけでうまい方法があるかもだけど。
483 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 09:51:55.51 ID:7/sdPVVo0.net] >>453 ちなみにどんなファイルを読むライブラリなの? 比較的単純なら自分で書き直す方が早いんじゃね?と思ったり。 sqlite みたいなのになってくると手に負えなそうだけど。
484 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 10:05:04.00 ID:5qQ+3kFva.net] 暗号化したボリュームに書き込みたいとかいう話ではないんだよな
485 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 12:02:16.95 ID:qsdLJDx40.net] ファイルマッピングだって、結局はディスク上のファイルイメージをメモリにキャッシュするだけだぞ ライトバックキャッシュなので「書き戻せ」というコマンドを自分では書かないから 何か特殊なもののように誤解されやすいが、 ハード的にCSやWEがチャネルコマンドに変換されるとかそういうことは一切ない
486 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 12:05:58.57 ID:AKKTs5+S0.net] 名前付パイプ渡してうまくいくといいなー ぐらい
487 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 12:18:15.13 ID:e2K2pEIVa.net] パス名でしか読み込めないクソライブラリをありもので解決するならramdiskしかないな ライブラリを修正できるなら俺だったら読み込み処理をコールバックにする
488 名前:459 mailto:sage [2018/10/01(月) 12:26:59.19 ID:0BEK1cUt0.net] みなさんありがとうございます。むずかしそうですね… ファイルの仕様も公開されてないので自分で描き直すのもむずかしいです… 理想的な流れとして以下のように出来ればいいのですがむずかしいのですかね… 1 暗号化したファイル読み込み 2 暗号解除 3 メモリに元ファイルとして生成 4 ファイル名を元ファイルを読み込む関数に渡してメモリ上のファイルを読み込む
489 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 12:28:50.21 ID:0BEK1cUt0.net] >>473 ramdiskですか。ちょっとそちらで調べてみます。ありがとうございます。
490 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 12:47:38.04 ID:AKKTs5+S0.net] ramdisk も中間ファイル書き出してその名前を渡すのとかわらんでしょ いずれにしろ復号済みのファイルが実体化しちゃってる
491 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 12:57:10.39 ID:UNHR2HPsx.net] >>474 難しいというか、技術的な実現方法はいくつか思いつくけど要件がよく分からないのでこれにすべきと言えないだけ。
492 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 13:02:33.93 ID:e2K2pEIVa.net] >>475 面倒な手順だけど、fuse+ramfsってのもあるか windowsにramfsがあるか知らんけど
493 名前:デフォルトの名無しさん [2018/10/01(月) 13:15:50.57 ID:yvyswmJaa.net] >>474 RAMディスクなら速いだろうけど普通のファイルシステムとアクセス方法は同じだから普通にディスクにファイル作っても同じだよ。 そのディスクがSSDならば正にRAMディスクだしな(ちょっと遅いかも知れないが)。 そのファイルは本当にRAMディスクのような高速アクセスできるようなファイルシステム上に作らねばならないものなのか?
494 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 13:19:01.59 ID:0BEK1cUt0.net] >>476-478 みなさんありがとうございます。 要件としては元のファイル自体が公開されているライブラリで読み込めてしまうのでそれを防止したいんです。 ようは簡単に読み込めなく出来ればいいだけなんですね。 >>474 でも一応メモリ内に復号後のものが実体化されちゃいますがとりあえずこれが出来ればいいかなと。 もう少し自分でも色々調べてみます。
495 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 13:21:27.31 ID:AKKTs5+S0.net] >>480 メモリ内だけじゃなくエクスプローラから丸みえだし、ファイルも普通に読み書きできるよ? <ramdisk
496 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 13:24:04.57 ID:0BEK1cUt0.net] >>479 なんというか単に目に見えるところに作りたくないというだけなんですね。 原理的には読めちゃうんだと思いますがとりあえず素で通常のディスクに書き出すよりは少しはマシかなと。
497 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 13:25:19.86 ID:0BEK1cUt0.net] >>481 ramdiskはそうなんですね… それだとマズイなあ… やっぱり見えない形で展開できればいいんですが。
498 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 13:30:03.85 ID:UNHR2HPsx.net] RAMDiskをNTFSでフォーマットして適切なPermission管理すれば良いんじゃね?
499 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 13:40:12.23 ID:0BEK1cUt0.net] あとRAMDiskについては使用者のPCに勝手にそういう領域を作っても問題ないのかも気になりました。 アプリが終了すれば常に確実に領域がクリアされ解放されればいいんですが何かのアクシデントで残ってしまわないかとか。 もうちょっと自分でも色々考えてみます。
500 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 14:13:49.93 ID:2kmJAioya.net] 隠蔽か
501 名前:ツ高揮発?を実現したいということならいろいろありそう。 windowsのfuseって昔あったよな。 [] [ここ壊れてます]
502 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 14:51:25.74 ID:tOl4q5VhM.net] Windows詳しいマンはおらんのか
503 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 14:56:04.14 ID:n3AkgheKM.net] だからAPI Hookだって。
504 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 17:27:27.14 ID:sRgrdSMiM.net] すでに出てるけど、名前付きパイプかファイルマッピングオブジェクトじゃいかんのか
505 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 17:41:52.83 ID:qsdLJDx40.net] Windowsの話してやってんのに通じないやつが何か文句言ってらあ
506 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 19:43:43.06 ID:3ZN7cetya.net] パス名経由でしか読み込めないんだからありもので対処するならOS経由の手段に限られる クソライブラリに手を加えられないなら自作するかramdiskで我慢するしかないよ
507 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 20:18:05.62 ID:xRBX1/Y3M.net] もちろんwindowsの話なんだけどな
508 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 20:50:02.06 ID:73T+9RSN0.net] >>488 狙うとすれば ReadFile あたりだろうけど、あまりに根っこ過ぎて ちゃんと狙い撃ちしたい箇所だけに限定できるのか正直わからんところ
509 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 21:43:55.95 ID:n3AkgheKM.net] >>493 狙うならCreateFileだと考えてた。 予めメモリマツプトファイルに復号化しておいてそのハンドル返せば、後はReadFileはHookしなくても煮るなり焼くなり好きにしてもらったら良いと。
510 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 21:58:38.38 ID:2kmJAioya.net] dropboxとか具体的にどういう技術なん?
511 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 22:54:48.81 ID:2yHgzixG0.net] APIHookかVFSを自分で実装するかになるんじゃね 前者の方が簡単そうだな
512 名前:デフォルトの名無しさん [2018/10/01(月) 23:58:25.83 ID:zfKNS/F/0.net] CreateFileMappingにわたすCreateFileのファイルハンドルは すでにファイルシステムと関連付けられたファイルハンドルになる メモリならINVALID_HANDLE_VALUEを渡す ドキュメントにしっかり書いてあるのに 相変わらず低学歴知恵遅れは 口からデマカセの頭悪いテキトーなことばっかりいってるわ。。。
513 名前:デフォルトの名無しさん [2018/10/02(火) 00:01:04.71 ID:R8M7QKDK0.net] そもそも質問してるヤツはファイルシステムに復号化されたファイルができるのがダメといってるのに 相変わらずだわ。。。
514 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 00:19:59.97 ID:9fPP7dMwM.net] ならばどうする半角よ 貴様の格の違いを見せてやれ
515 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 00:24:37.79 ID:69sVZg4Ka.net] この流れで初書き込みだけどソースが公開されていないで思いどうりに読み込めないのであれば自分で実装したほうがいいんじゃね バイナリモードで読み込めばいいんじゃないの
516 名前:デフォルトの名無しさん [2018/10/02(火) 00:31:01.73 ID:Cp0nvcbE0.net] また自演か
517 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 00:35:23.62 ID:nity8XPfa.net] 499だけどオレが自演って事になってるのか?
518 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 00:40:31.83 ID:6wQ+/Q1Ma.net] dropboxは非同期にrsyncみたいなことしてる感じだな。 ここで求められてるのは同期だね
519 名前:デフォルトの名無しさん [2018/10/02(火) 00:55:56.80 ID:R8M7QKDK0.net] 検討がつかない そもそも使ってる関数のソースが未公開の前提らしいからな 中でなにやってるかなんかまったく分からんからこういう質問してるんだろうしな きっとReadFileを呼んでるのだろうという程度のことしか分からない それは質問してるヤツもその程度は分かってるハズ そして、そのファイルを読み込む関数のインターフェースもよく分からない ファイルハンドルを渡すのかファイルパス渡すとかも分からない 情報が一切ないから検討しようがないといいたいが 両方とも検討した結果、簡単ないい方法が思いつかない 別プロセスにしてCONIN$使うとかインチキくさい方法ぐらいしかパッと思いつかなかった でな、この要件に至るまでの根本的な部分について知りたい その暗号化したファイルを今までどうやって出力してたかという部分に
520 名前:ネる 読み込みはその操作と逆の操作をすればいいハズだからな もし暗号化して出力するときに、平文のファイルを一時的にテンポラリに出力してから暗号化してるなら 入力するときに平文のファイルを一時的にテンポラリに出力するのは許容範囲になると言い張れれば コレで解決する コレでイケルハズ [] [ここ壊れてます]
521 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 01:03:57.23 ID:6wQ+/Q1Ma.net] そうじゃなくて、生データを隠したいんじゃないか?
522 名前:459 mailto:sage [2018/10/02(火) 02:49:53.61 ID:qS1Sk5MG0.net] みなさん色々と案をありがとうございます。 あれから自分で調べたり考えたりしてたんですが どうにかファイルの構造を知る事が出来そうで 中身を自分で書き換える(復号化ロジック込みの読み込み関数を書く)事にしました。 非常にお騒がせしてしまいまして申し訳ございませんでした!
523 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 04:36:17.92 ID:yoF3UpeG0.net] Cのテスト関係のツールでおすすめとかありますか? 業務ではなく個人の趣味としてのプログラミングなので,できれば無償・オープンソースなのがいいです。 https://en.wikipedia.org/wiki/List_of_unit_testing_frameworks#C ここを見ると,やはりCに関しても単体テストが最適なようですが…
524 名前:デフォルトの名無しさん [2018/10/02(火) 04:42:42.21 ID:Cp0nvcbE0.net] 本当に自演が大好きなんだな
525 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 06:50:29.85 ID:yoF3UpeG0.net] ? え,もしかして俺に対して? そうだとしたら まったくの言い掛かりなんだけど……。 純粋に,単体テストのおすすめを訊きたいだけ。
526 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 11:07:45.33 ID:Yfg2/nZYa.net] >>509 世の中のすべてが自演に見えちゃう病気の人かも知れないから、スルーしておけばいいんじゃない?
527 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 11:08:35.53 ID:EEmEj/et0.net] まーた自演か
528 名前:デフォルトの名無しさん [2018/10/02(火) 12:14:34.37 ID:RjhRAQY1a.net] まーた自演か
529 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 13:22:40.96 ID:kk/2dA0Y0.net] 「自演じゃないもん」なんて弁明しても証明できないところで相手すんなよ 無駄なことをする姿がバカっぽいぞ
530 名前:デフォルトの名無しさん [2018/10/02(火) 13:39:01.10 ID:RjhRAQY1a.net] 自演じゃないもん
531 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 19:19:05.31 ID:Fj/XybmQM.net] ウィザードブックで勉強したって方いますか? Cのレベル上げにも役立つかしら・・・
532 名前:デフォルトの名無しさん [2018/10/02(火) 20:40:47.26 ID:R8M7QKDK0.net] ココまでオレのジエン
533 名前:デフォルトの名無しさん [2018/10/02(火) 20:51:11.45 ID:hjXu6C7/a.net] >>515 ウィザードブックってなに?
534 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 20:53:08.03 ID:pF626ax10.net] 魔法使いがevalとapplyの球もってる奴じゃね
535 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 22:09:38.52 ID:Fj/XybmQM.net] 愛称違ったっけ? 『計算機プログラムの構造と解釈』です >>518 です λのやつ
536 名前: mailto:sage [2018/10/02(火) 22:37:55.33 ID:WWljJiuT0.net] >>519 一般の人間が翻訳に参入しているようですね
537 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 00:45:37.81 ID:+GJzyh+A0.net] >>519 愛称はSICPな。 sicpvn.sdf.org/smug.jpg つか、全文訳されて公開されてるのな。 https://github.com/minghai/sicp-pdf/ 詳細は以下。 https://qiita.com/kaz-yos/items/d1ecd4bfe9989c290e99 https://cpplover.blogspot.com/2016/05/mitsicp.html なお、俺は読んだこと無い。
538 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 04:12:13.38 ID:zPlOwhsg0.net] またトリップ付けないで書き込みしたの? 荒らしはもうやめておいた方が良いと思う
539 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 06:56:42.02 ID:R1dsfyjz0.net] >>522 >またトリップ付けないで書き込みしたの? >荒らしはもうやめておいた方が良いと思う トリップつけないで書き込みするとどうして荒らしになるのですか? というか、ほとんどの人がトリップをつけていないので、5ch は荒らしだらけ、ということですか?
540 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 07:02:45.12 ID:IEc6BJqm0.net] アホは相手すんな
541 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 15:15:05.37 ID:KwJqXPANY] 配列について質問があります char a[3][5]; char a[2][4] = 'A'; printf("%c\n", *(*(a+2)+4)); //Aを表示 上記の*(*(a+2)+4)の部分において *(a+2)がa[2]の実体を示していて、次に+4がされていることが不思議です これだと、a[2]+4ということになりますよね? このa[2]+4がよく分かりません。どういうことなのか教えていただきたいです どうぞよろしくお願いいたします
542 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 10:05:15.64 ID:DxqDA2/Ip.net] https://i.imgur.com/BsiX5iK.jpg 添削お願いします。
543 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 10:17:32.97 ID:6zSKEd8l0.net] >>526 minute と second は while の中のスコープで宣言するといい。 あと second を printf する時、お前のやりたいことは多分 %02d でできる。 0詰め2桁表示ね。
544 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 10:21:58.92 ID:3s3m6VbBM.net] sleepは1秒待ってくれるとして、 前後の処理がどうしても正確に0秒でできるわけではないので誤差が溜まっていく。 定期的にシステムの時刻を見て秒の変わり目を検出するほうが正確。
545 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 10:26:30.21 ID:6zSKEd8l0.net] >>526 これはこうすべきってことでないけど、画面を消す clear、これが何をやってるか調べると面白いかもよ。 とりあえず clear > log とかやって log に何が書かれてるか見てみるといい。 次に cat log とやると何が起こるか確かめてみるといい。 これがわかると画面を消すのに clear なんて外部コマンドを使わなくてもよくなる。
546 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 10:44:56.64 ID:uhmiVRnQa.net] >>526 whileとelseは直後に空白あける。
547 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:16:24.26 ID:DxqDA2/Ip.net] https://i.imgur.com/ldQVwUT.jpg ↑ソースコード https://i.imgur.com/eCYNPsi.jpg ↑実行結果 となりました。 「set number」と「syntax on」を初期設定したいのですが、どうすればいいですか?
548 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:16:46.89 ID:FRcGP58U0.net] free run counter
549 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:19:04.80 ID:DxqDA2/Ip.net] あと、iPhoneのタイマーと比べた結果カウントが遅くなっていたことがわかりました。これは前後の関数を実行する際にノータイムでは出来ないことが原因だと考えられます。
550 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:20:50.09 ID:6zSKEd8l0.net] >>531 ちょっとまて、>>529 を試そうとしてる雰囲気だけど、clear > log とか cat log はソースコードに埋めるんじゃなく、コマンドラインとして叩くんだよ。
551 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:44:12.58 ID:DxqDA2/Ip.net] https://i.imgur.com/5usTieQ.jpg 流れが速くて打てません。
552 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:54:29.41 ID:DxqDA2/Ip.net] while の中でminute,secondを宣言したら回るたびに宣言する事になるので、なんかダメだと思いました。 あと、ちゃんとしたタイマーを作るにはどうすればいいのか知りたいです。
553 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:56:56.95 ID:aS2keCHZa.net] 画面が流れるんでなくて、部分的に書き換えたい感じ? cursesを使うのじゃ
554 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 12:03:40.55 ID:3s3m6VbBM.net] 教え方の下手くそな教えたがりばかりで あげくにcursesまで初心者に吹き込んで質問者大混乱
555 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 12:22:47.81 ID:NVTQRcnQa.net] >>526 なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?
556 名前:デフォルトの名無しさん [2018/10/05(金) 12:23:53.35 ID:G8OY4AG7d.net] そこは教え方の上手なあなたが教えてあげれば良い事だな
557 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 12:50:10.63 ID:cQzHZ22n0.net] >>539 歴史に残る名言だなw
558 名前:デフォルトの名無しさん [2018/10/05(金) 12:50:15.78 ID:qaFHFmCDa.net] >>539 それ、もういいですから。
559 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 13:01:08.97 ID:vpbu8eze0.net] clear > log cat log Linux の基本コマンドも知らないような奴が、C をやるな! 10年勉強してからやれ
560 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 13:01:39.72 ID:6zSKEd8l0.net] >>535 >>529 で言ってるのは >>526 の実行とは別の話。 画面を消す方法の正体を調べる手順だから、ヒマな時にやればいい。 >>536 宣言はコンパイル時に解釈されるもので、実行時に「宣言という動作」を行っているわけじゃない。 だから実行時にかかるコストは無いから、ループの中に書いてもいい。 C は変数が見える範囲(スコープ)が { } の中になってる。 minute と second は while で回してる { } の中でしか使ってなく、かつ表示のための一時的な変数だから、それを必要とする範囲内だけで見えるようにすると分かりやすくなる。 変数のスコープは極力狭くなるように書くといいよ。 分かりやすさの点でもいいし、メモリ(スタック)の消費量も少なくなる。 正確なタイマーを作るならインターバルタイマーで調べてみるといいけど、まだそれを使えるレベルじゃないと思う。 >>538 curses ってなに?
561 名前:デフォルトの名無しさん [2018/10/05(金) 13:03:13.60 ID:qaFHFmCDa.net] >>536 1秒ごとに setitimer() とか使って割り込み掛かればいいんだけどね、普通のOSだとあまり正確にではないかも知れない。しかしただsleepするよりは正確だと思う。 割り込み使わないやり方で今と似ているけどましなやり方は次の処理開始時間までより正確に sleep することだ。 これは gettimeofday() でμ秒までの時刻を取得して秒が変わるまで何μ秒なのか計算して usleep() で sleep させればできる。
562 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 13:11:04.98 ID:6zSKEd8l0.net] curses ってライブラリか。 面白そうだな。
563 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 13:31:56.77 ID:DxqDA2/Ip.net] >>544 変数の宣言はコンパイル時に解釈されているのですね。わかりました。 「set number」と「syntax on」を初期設定にするにはどうすればいいですか?
564 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 13:33:35.60 ID:DxqDA2/Ip.net] あと、インターバルタイマーも調べて起きます。
565 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 16:55:26.05 ID:NK5dBb8n0.net] >>547 printf '%s\n%s\n' 'set number' 'syntax on' >> ~/.vimrc
566 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 16:56:30.81 ID:NK5dBb8n0.net] ていうかエディタの名前くらい書け。 まあset numberという設定名のエディタはVimくらいしか思い付かんが。
567 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 10:59:41.46 ID:YTpMAVXmM.net] そこはggrksだろ なに遊ばれとんねん
568 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 11:16:41.41 ID:5icYsRLJ0.net] 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 型を代入していました。
569 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 13:21:40.69 ID:i8/5B6xca.net] 関数がないじゃん
570 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 13:57:42.90 ID:wqzMNkqt0.net] そもそもコンパイルできなかったのでは? 構造体のメンバにB4〜B7みたいな定義済みの定数は書けないよ。
571 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 14:22:18.67 ID:NcWFD+EU0.net] Cってネットワーク系のコマンド作るのに向いてる?
572 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 14:26:06.72 ID:i8/5B6xca.net] ネットワーク系のコマンドというのが意味不明だが、socketインターフェースはある。 向いてるかといえば向いてないが、そういう低レイヤの話としては言語は何を使っても大して変わらん様な気はする。
573 名前:デフォルトの名無しさん [2018/10/08(月) 14:31:56.89 ID:meeyxWTYa.net] REST APIなら libcurl で楽々よ
574 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 14:51:03.67 ID:FGHe46tu0.net] ビットコのbot殆どがPythonやNode.jsばっかだけど libcurl使えばスクリプト言語並みに簡単に使えるよね
575 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 15:10:37.99 ID:NcWFD+EU0.net] なるほどソケットっていうのもあるのか。 無知なもので「ネットワークコマンド」と言えばwgetやらcurlやらのTCPクライアントだけを指すと思ってたw curlってコマンドだけじゃなくてlibcurlも提供してくれてるんだね。 だったらpure CでもTCPクライアントが作れそう。
576 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 15:53:56.39 ID:i8/5B6xca.net] 言葉の話だけどcurlは基本的にはHTTPクライアントだ。TCPの上に乗ってる。 TCPクライアントはtelnetとかncだな。ncはUDPも行ける。 TCPも基本的には難しくないが、異常系を考え出すときりがない。
577 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 16:51:30.03 ID:wTnfR6Jf0.net] 大昔ソケットレベルから自前でHTTPクライアント作ったことある TCPプロトコルを学ぶ良い勉強になるよ
578 名前:デフォルトの名無しさん [2018/10/08(月) 16:56:21.14 ID:SHTmPUE+0.net] 相変わらず低学歴知恵遅れは頭悪いこといってるわ ソケット通信でTCPプロトコルとか オマエがソケット通信でやりとりしてんのはHTTP ホントななんでココまで頭悪いのしかいないのか不思議
579 名前:デフォルトの名無しさん [2018/10/08(月) 17:00:43.05 ID:SHTmPUE+0.net] トランスファープロトコルにTCP/IP使ってるといっても きっとこのスレの低学歴知恵遅れは意味が分からない smtpもftpもほとんどが普通にtcp/ipだからな いまどきのnetbiosも普通にtcp/ipだからな 昔はトランスファープロトコルにnetbeuiつかってた で、今ではnetbios over tcp/ipで nbtとかなんとかいってる
580 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:32:32.71 ID:i8/5B6xca.net] >>563 知らんテクニカルタームは使うときに確認しろよ
581 名前:デフォルトの名無しさん [2018/10/08(月) 17:34:14.12 ID:SHTmPUE+0.net] また低学歴知恵遅れが意味不明ないちゃんもんとけてるし 先にいっとくけどな とてつもなく頭悪いこといってんのオマエだからな まずその自覚がない
582 名前:デフォルトの名無しさん [2018/10/08(月) 17:35:52.31 ID:SHTmPUE+0.net] pop3もtcp/ip sshもtcp/ip httpsもtcp/ip きっとな低学歴知恵遅れには なにをいってるのいかが分からないとは思うわ
583 名前:デフォルトの名無しさん [2018/10/08(月) 17:37:36.24 ID:SHTmPUE+0.net] ホントな低学歴知恵遅れは 頭悪いことを自信満々でいうから困るわ
584 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:44:32.09 ID:BtXxUchaM.net] 基本情報どころかITパスポート程度の知識でドヤってるのか 低学歴知遅れ君は
585 名前:デフォルトの名無しさん [2018/10/08(月) 17:47:16.60 ID:SHTmPUE+0.net] それにすら到達してない低学歴知恵遅れが ドヤってるスレがこの板だからな マジで低学歴知恵遅れはこの板から排除したほうがいい 有害
586 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:48:30.52 ID:i8/5B6xca.net] じゃあ「トランスファープロコトル」ってなんだか説明してくれよ… なんだよ「ソケット通信でHTTP」って。
587 名前:デフォルトの名無しさん [2018/10/08(月) 17:50:22.69 ID:SHTmPUE+0.net] HTTPというのは ハイパーテキストトランスファー プ ロ ト コ ル だからな ソケット通信(トランスファープロトコル意識する必要ない)で HTTPの内容してるだけだ わかった?
588 名前:デフォルトの名無しさん [2018/10/08(月) 17:51:32.47 ID:SHTmPUE+0.net] ソケット通信でHTTPの内容をヤリトリしてるのすら分かってないワケだからな ここまで頭悪いと
589 名前:話にならない [] [ここ壊れてます]
590 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:51:37.49 ID:BtXxUchaM.net] 低学歴知遅れ君ってプロトコルの意味を理解してなさそう
591 名前:デフォルトの名無しさん [2018/10/08(月) 17:52:10.92 ID:SHTmPUE+0.net] で、低学歴知恵遅れの負けず嫌いは半端ないからな
592 名前:デフォルトの名無しさん [2018/10/08(月) 17:52:42.31 ID:SHTmPUE+0.net] これ以上語るつもりはない
593 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:55:15.29 ID:o/CKA6Eq0.net] 昨日読んだTCPの本がよっぽど気に入ったんだね
594 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:59:44.79 ID:i8/5B6xca.net] だからなんだよ「トランスファープロトコル」って
595 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 18:24:47.89 ID:wTnfR6Jf0.net] TCP Transmission Control Protocol IP Internet Protocol トランスポート層 TCP, UDP, DCCP, SCTP, IL, RUDP 似たような言葉はあるが、その表現は見つからないな 並行宇宙のどこかで使っているかもしれないが ここではなさそうだ
596 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 18:25:27.11 ID:NcWFD+EU0.net] あー。TCPというのはHTTPよりもう少し下層に位置する概念ってことかな?(合ってるか不安) 俺が作りたいなぁと思ったのは $ xxx 'example.com' とやるとブラウザでexample.comにアクセスして「ページのソースを表示する」機能を使ったときのような出力を返すコマンド。 これはTCPクライアントじゃなくてHTTPクライアントか。
597 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 18:27:46.37 ID:wTnfR6Jf0.net] >>579 そう 普通はHTTPプロトコルのGETメソッド使う POSTでも良いが、設定が多少複雑になる
598 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 18:29:18.08 ID:lYyho1IC0.net] 「トランスファープロトコル」は星の数ほどある「〜転送プロトコル」の用語として使われるけど、トランスファープロトコル単体で使用されてるのは聞いたことないね。 きっとトランスポートプロトコルの間違い。
599 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 18:29:27.24 ID:wTnfR6Jf0.net] あ、下層というよりもアプリケーション層ですね
600 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 18:42:58.85 ID:i8/5B6xca.net] >>579 まあGETするだけだったらそれこそTCPだけでもいい。 勉強としては、HTTPサーバにtelnetしてGETコマンド(と、いくつかのヘッダ)を打ち込んでみると、イメージがつかめるのではないかと。
601 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 19:28:25.64 ID:ksVOiCMkM.net] 半角久しぶりに来てんじゃん やっぱお前が釣らなきゃ盛り上がらんな
602 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 19:39:09.30 ID:sIA/07pT0.net] そろそろ知ったかマウント君はいなくなったかな?
603 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 19:44:22.79 ID:VRFV8oUEp.net] クソガキ多いねw
604 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 19:45:29.27 ID:o48XySPi0.net] 勉強したいならCで スティーブンス本で検索すれば、役に立つ書籍があるよ 使いたいだけならpostmanとかcurlでえんじゃね?
605 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 19:58:16.19 ID:/43gNJgrM.net] ファーwww
606 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 20:47:31.58 ID:FGHe46tu0.net] 半角くんとかvoidくんとかこのスレには個性的な人が多いねw
607 名前:デフォルトの名無しさん [2018/10/13(土) 20:15:38.78 ID:mLt7ea1s0.net] すみません、C言語出テキストファイルの特定行を書き換えたいのですが 全て配列に読み込む→変更する→全て書き戻す という方向しかないでしょうか。 変更前 01.txt a=1 b=1 c=1 変更後 01.txt a=1 b=0 c=1 こういった変更を行いたいです。
608 名前:デフォルトの名無しさん [2018/10/13(土) 20:23:20.71 ID:L3Dj2/gz0.net] 標準入力から1行ずつひたすら読み込む 特定行以外をひたすら同じ内容を標準出力に出力する 特定行だけ変更内容を標準出力に出力する できた
609 名前:デフォルトの名無しさん [2018/10/13(土) 20:36:09.45 ID:L3Dj2/gz0.net] aho.sh ---- #!/bin/bash aho < 01.txt > 01_tmp.txt mv -f 01_tmp.txt 01.txt 引数でファイル名を指定するどうでもいいことがどうしてもしたい場合は 一旦、プログラムでテンポラリファイルに書きだして プログラムで最後にmvする必要がある
610 名前:デフォルトの名無しさん [2018/10/13(土) 20:51:29.26 ID:L3Dj2/gz0.net] https://ideone.com/CYlw3P あとはテキトーにやりなさい
611 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 21:16:47.20 ID:f9khLXsZ0.net] >>590 その例みたいにサイズが変わらないなら直接書き換えることは可能
612 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 21:39:37.11 ID:bu3lDLSN0.net] >>590 そういうのはC言語ではやらないのが正解な。 どうせ逆ギレされると思うが、そう言われたことだけでも覚えておけ。
613 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 22:17:43.48 ID:2jvN7D8ra.net] >>593 voidがねえし
614 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 23:02:07.79 ID:3osNA+cUa.net] >>590 その方向しかない
615 名前:デフォルトの名無しさん mailto:sage [2018/10/13(土) 23:32:20.23 ID:LnxaR5jgM.net] 「特定行」の定義は?
616 名前:デフォルトの名無しさん [2018/10/13(土) 23:33:28.10 ID:LwGfYqlW0.net] >>590 UNIXならmmap()、WindowsならCreateFileMapping()を使ってファイルの内容をメモリにマップするとか。
617 名前:デフォルトの名無しさん [2018/10/13(土) 23:34:05.47 ID:L3Dj2/gz0.net] 書いてあることをすべてCでやりたいなら コレでいける ぜんぶメモリにいれる必要はない @ 入力ファイル(01.txt)をリードオンリーでオープン A テンポラリファイル(出力ファイル)をmktemp()で取得 B Aで取得した出力ファイルをライトオンリーでオープン C 1行ずつ読み込んで1行ずつ書きこみ(>>593 ) D 入力ファイルと出力ファイルをクローズ E 入力ファイルをremove()で削除 F 出力ファイルをrename()で入力ファイルに移動 ものすごい大きいファイルが入力ファイルになった場合対応できない
618 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 01:05:48.11 ID:fk9HLJgw0.net] オフセットズレが発生するファイルの更新はファイルの全面書き出し以外に方法はない
619 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 01:17:59.64 ID:Xia0NB2F0.net] ファイル後ろの方だと大きなファイルでも部分的な書き直しで済むんだよね
620 名前:588 [2018/10/14(日) 02:24:40.11 ID:bBeuqmk90.net] 皆さん回答ありがとうございました。 やはり処理的にはすべて触らないとダメそうですね。 >>593 さんの例はfopenとか必要ないのですか。
621 名前:デフォルトの名無しさん [2018/10/14(日) 02:31:42.91 ID:VGDv0f/D0.net] なんとなくsedで済む話な気がする
622 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 02:52:55.98 ID:xvapfCASM.net] >>603 ファイル入出力ストリームなら必要 あの例は標準入出力を指定してるだけ すべて触る必要があるかはデータ構造次第 更新するデータ域をブロック分割、 ブロックマップをメタ管理とかは バイナリなら一般的な手法 テキストだとスペースパディングで ブロックやエントリ管理できそうだが そんなことやってる奴は見たことない
623 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 03:26:16.87 ID:rKkXAekW0.net] >>603 stdin から読むようになってるからシェルのコマンドラインからならリダイレクトで読ませれば良いだけだよ。
624 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 06:21:09.87 ID:1QMkRc1k0.net] cat 01.txt | sed s/b=1/b=0/
625 名前: mailto:sage [2018/10/14(日) 09:20:22.59 ID:1uKE5eLu0.net] >>596 スタートアップから渡される argc, argv を「使わない」のだから void なしが妥当なのでは?
626 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 09:33:04.94 ID:p/Li638e0.net] >>604 × なんとなく ○ ほぼ確実に 「Cで」「Cで」「Cで」、初心者はCしか出来ないからそれしか考えられない。(選択肢がない) 初心者あるあるだけども。 実際これ、Cで処理されてCバイナリを引き継がされても大迷惑だし。 >>590 マジな話、上司が居るのなら上司に聞けって。これ、Cでやったら大迷惑な話だし。 聞くのが迷惑だと思っているのなら、この件については聞かない(報告しない)ほうが迷惑だ。 上司が居なくてど初心者なら、この際にスクリプト言語を覚えろ。
627 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 09:38:03.86 ID:1QMkRc1k0.net] >>608 その論法でいうならvoidなし&返却値なしだな 純K&Rスタイル main() { /* do something */ exit(0); }
628 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 09:39:21.07 ID:1QMkRc1k0.net] 例の半角野郎がまた湧いたか、しつけーな 何が上司だ、ここはム板だぼけ
629 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 10:56:40.88 ID:8TmCYtNe0.net] >>608 引数 void って初めて見たぞ。文法的にありなのかこれ?
630 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 10:58:50.59 ID:br2DRGrhM.net] 未だ許されないvoidおじ o.8ch.net/1i7w.png
631 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 12:19:08.18 ID:vwPmx6lGM.net] 特定行の書き換えですが ・bの値を反転させたい(0なら1、1なら0) ・b=の行は複数出現する可能性がある() ・複数出現した場合は一番最後に出現した行の値を反転の対象にしたい ・書き換え後はb=の行は1行だけにしたい ・書き換え後はできれば a=... b=... c=... な感じでソートしててほしい これはC言語で出来ますか? どうやったらいいでしょうか?
632 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 13:29:01.06 ID:p/Li638e0.net] >>614 「出来る/出来ない」なら、そりゃC言語で「出来ない」って事ははほぼ全ての事例で無いよ。 どうやったらいいか、なら、その場合は俺ならExcel使うね。規模的に無理ならシェルスクリプトを使う。 何でもCでやればいいわけではない。 そのお題を実際にCでやる事なんて無いから、練習用なら意味無いし、 本番としてそれをCでやる気なら、間違ってるから止めとけ。
633 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 13:32:34.90 ID:oxI7rgHj0.net] >>590 の続きなのか >>614 ソートするなら全て読み出すのが一番楽だよ
634 名前:デフォルトの名無しさん [2018/10/14(日) 14:42:07.27 ID:Q3eQCyRU0.net] コードの書き方みたいなこんなもんを上司に聞けとか よくわからんが、協力会社で入ってるリーダーかなんかか。。。 すげえな、そういった会社の文化をオレは知らないが そもそもそんなとこが未教育なゴミつれてきたら大問題だからな 必死になるのも分かるわ で、だれでもすぐ分かってるコマンド書いてドヤ顔して低学歴もいるしな
635 名前:デフォルトの名無しさん [2018/10/14(日) 14:43:20.19 ID:Q3eQCyRU0.net] この程度ならCで書いても 普通にCで書く練習になる
636 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 14:46:42.49 ID:vwPmx6lGM.net] Excelで手作業とかは論外です シェル芸でもいいです 誰かできませんか?
637 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 14:48:14.42 ID:b97yHnkE0.net] >>619 どこまで書いたのか、現状のコードを貼ってみなよ
638 名前:デフォルトの名無しさん [2018/10/14(日) 14:48:35.94 ID:Q3eQCyRU0.net] sedとsort使えばいい
639 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 15:12:45.83 ID:p/Li638e0.net] >>619 お前以外のみんな出来るっての。 お前がコードクレクレ君だからみんな適当にあしらってる。 お前が努力してる(=コードを試しに書いてみたが動かない)のなら、もう少しましな回答も出るだろうさ。
640 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 16:43:39.96 ID:vwPmx6lGM.net] ロジックだけでも教えてください
641 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 17:39:13.57 ID:+7qWkF0t0.net] こんな感じでどうかな ・空行はそのまま出力されてしまう ・代入文は1行に1文のみで X=n の形式 が前提だけど awk -F= '{if($1=="b") b=$2; else print;} END{printf("b=%d\n", xor(b, 1))}' a | sort -u
642 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 17:41:50.05 ID:+7qWkF0t0.net] あ、a はファイルね
643 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 17:46:59.25 ID:+7qWkF0t0.net] -u はいらんかったな
644 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 17:52:44.40 ID:El+yY4uS0.net] >>623 tacで逆順出力、sedで初回マッチのみ置換、sortでソート出力
645 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 18:07:48.33 ID:+7qWkF0t0.net] tac なんてコマンドがあるんだな、サンキュー sed 使った場合、0と1の交換と、初回マッチ分以外は出力しないようにするの、難しくない?
646 名前:デフォルトの名無しさん mailto:sage [2018/10/14(日) 18:31:52.87 ID:hWarSIQ50.net] 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
647 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 00:34:33.53 ID:FbFcpKzK0.net] Rubyもいいけど、こういう小規模な操作にはシェルスクリプトとかが適してる気がする。
648 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 02:17:02.27 ID:Obfj9PeS0.net] >>614 の内容だけど、誰も聞かないのであえて聞くけど b=以外は何も加工せずに複数あればそのまま出力で良いのか? その場合、ソートは=の右側の数値順にするのか、文字コード順にするのかか データによっては、a=、c=、d=の行が多数出力される中でb=の行だけ1行になる ってことで良いのかな?
649 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 03:03:29.36 ID:E6pr56BO0.net] 私たち日本人の、日本国憲法を改正しましょう。 総ム省の、『憲法改正國民投票法』、でググって みてください。拡散も含め、お願い致します。
650 名前:デフォルトの名無しさん [2018/10/15(月) 23:43:48.26 ID:KnJWry7m0.net] @ [出力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) とりあえずコレでいけるハズ あとはがんばりなさい
651 名前:デフォルトの名無しさん mailto:sage [2018/10/15(月) 23:53:21.52 ID:9a9m7auH0.net] sedだけでやってみてくれや
652 名前:デフォルトの名無しさん [2018/10/15(月) 23:59:03.51 ID:KnJWry7m0.net] だけでやるとはオレは一言もいってない 使うコマンドを限定した覚えはない
653 名前:612 mailto:sage [2018/10/16(火) 00:22:11.79 ID:NB8XYwuTM.net] ソートは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
654 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 00:40:38.52 ID:xERlP6Woa.net] チューリングマシンならなんでもできて当たり前なんや
655 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 00:47:20.35 ID:HI3tJEA90.net] Cのプリプロセッサも計算完備だしな。誰かがcppでフィボナッチ数列出力してたな そういや
656 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 00:55:44.02 ID:gETK/lfa0.net] こんなんではどうかな 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//;}"
657 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 01:01:42.59 ID:gETK/lfa0.net] 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でやってください
658 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 01:20:14.73 ID:HI3tJEA90.net] もはやすごいのかどうかも分からんが すごいw
659 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 01:33:16.00 ID:gETK/lfa0.net] 大したことはしてませんw 前半のスクリプトで最終行以外のb=の行を削除し、 後半のスクリプトで置き換えをしてます
660 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 07:39:45.98 ID:7taE2kBh0.net] つかさ、丸投げに答えてやる必要も無いだろ。 ただの一行もコード書いてないだろこいつ。
661 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 07:59:23.00 ID:ips5MdhR0.net] 622じゃだめなんか? cat <file> | awk -F= '{if($1=="b") b=$2; else print;} END{printf("b=%d\n", xor(b, 1))}' | sort
662 名前:デフォルトの名無しさん [2018/10/16(火) 09:23:21.39 ID:HrwRMilta.net] いーんじゃない?
663 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 10:41:54.09 ID:kKW6G61E0.net] >>643 確かにそんな感じしてきてるな
664 名前:デフォルトの名無しさん [2018/10/16(火) 13:03:31.45 ID:0QUQFWONa.net] てか、Cのスレで質問者もCでどうやるか聞いてるのに誰もCで答えてないw ま、Cで書く気が失せる問題ではあるが。
665 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 13:28:42.21 ID:iuFXWAmsM.net] 頭の体操にはなったろ スレを活性化するためには呼び水って必要なんだと実感
666 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 13:38:03.74 ID:dIjk/xku0.net] C言語でやるとしたら b=で始まる行以外は適当な一時ファイルに出力し b=で始まる行だけはメモリー上に格納しておく b=行が出現する度に、あたらしい行データでメモリー上を更新する EOFまで処理したら、一時ファイルとメモリー上のデータをマージする その際にb=の値を所定の値に置換する 順番は後にソートする前提なので適当で構わない ソートは外部コマンドでやらせて良いだろうね
667 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 17:27:49.92 ID:5Df0UEAr0.net] >>647 591がCで答えてるだろ ちょっと小馬鹿にしたような内容だが 小出し小出しで来る質問者には適切だったと だんだん思えてきてる
668 名前:デフォルトの名無しさん [2018/10/16(火) 17:35:52.31 ID:HrwRMilta.net] >>650 おお。上の方過ぎて気づかなかった。
669 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 21:08:20.36 ID:iuFXWAmsM.net] お前らがほどよく食いつきそうな質問考えるのも大変なんだぞ
670 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 21:46:58.32 ID:Fb63Sgww0.net] >>652 死ね
671 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 22:04:41.56 ID:gETK/lfa0.net] 流石に591はネタとしか思えない というか、酷すぎだろう
672 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 23:06:58.82 ID:HI3tJEA90.net] 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()関数の中に直に処理を書かないとか色々。
673 名前:デフォルトの名無しさん [2018/10/16(火) 23:31:05.44 ID:ZKPc2SIw0.net] なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?
674 名前:デフォルトの名無しさん [2018/10/16(火) 23:35:18.29 ID:ZKPc2SIw0.net] >>655 あれ?それ、コンパイルすると警告出ないか?main()が何も返してないって。 いや、exit()を理解してくれるコンパイラなら何も出ないかも知れないけどね。
675 名前:デフォルトの名無しさん mailto:sage [2018/10/16(火) 23:48:35.20 ID:HI3tJEA90.net] >>657 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のコンパイラでもちゃんと処理できるのでいいんじゃないかなぁ。
676 名前:デフォルトの名無しさん [2018/10/17(水) 01:16:05.15 ID:GVzdQn3+0.net] そうだったか。
677 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 01:41:12.15 ID:aiP21AAI0.net] main に限り 戻り型int としながらも return で値を明示的に返さない場合 暗に return 0; とするってなかった? (653 で exit() 無しでもセーフ)
678 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 01:48:50.18 ID:aAn3UH6A0.net] c99から(とc++も)main()は特別扱いで省略時はreturn 0;と扱われる とググったらでてきた なんでmain()だけ?どうせなら関数全てそうしちゃえばいいのに、と思わなくもない
679 名前:デフォルトの名無しさん [2018/10/17(水) 02:29:49.55 ID:GVzdQn3+0.net] なんと。そうだったのか。
680 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 03:22:55.94 ID:FoS95tj1M.net] >>661 「書かないこと」が一命令と等価ってどうよ?
681 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 03:32:50.43 ID:4awkQadJ0.net] 不定の戻り値なんて殆ど使いもんにならんから 戻り値がスカラー型ならコストも低いし 0 返してる扱いでいい気がする
682 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 04:22:55.42 ID:Nvagglal0.net] >>658 -std=c99いらねって デフォだぞ今のgccは
683 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 06:39:43.66 ID:p0V48QfGM.net] >>664 そんな余計な機能は要らんわ
684 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 06:40:15.60 ID:p0V48QfGM.net] >>665 お前は何を言ってるんだよ w
685 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 07:36:54.39 ID:Nvagglal0.net] >>667 ニホンゴワカリマスカ?
686 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 08:11:38.95 ID:zWYuH5Te0.net] 確かSolaris+sunのコンパイラではreturn 0 もexit(0)も書かんかったら$?は不定だったような記憶がある
687 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 08:13:06.68 ID:p0V48QfGM.net] >>668 iccワカリマスカ?
688 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 09:26:43.05 ID:Nvagglal0.net] >>670 だから何?
689 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 09:31:50.81 ID:OPyv/DAJM.net] >>671 日本語わかってないのはお前じゃん
690 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 09:49:25.33 ID:Nvagglal0.net] >>672 頭が馬鹿なお前に言われたかねえぜ
691 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 10:05:24.48 ID:p0V48QfGM.net] >>671 で、誰が gcc で -std=c99 を指定してるって? 恥の上塗りすぎる w
692 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 10:27:25.05 ID:Nvagglal0.net] >>674 >>672
693 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 11:19:59.47 ID:p0V48QfGM.net] >>675 >>667
694 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 12:45:18.81 ID:5mPHIqhKM.net] マ板で見つけたんですけど、何がやばいんですか? 355 仕様書無しさん sage 2018/10/17(水) 10:31:44.15 https://qiita.com/hamichamp/items/7b7a7ee091a6856ac900 こんな奴でもフリーランスになれるんやな
695 名前:デフォルトの名無しさん [2018/10/17(水) 12:57:28.62 ID:8efdFbKLa.net] >>677 え?そこに書いてある通りでは?
696 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 13:16:02.45 ID:5mPHIqhKM.net] >>678 すみません勘違いしてました このブログの投稿者がフリーランスでこの記事の人のことではないんですね
697 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 13:33:54.04 ID:Nvagglal0.net] >>676 確かに、俺が何を言ったのか、おまえ解ってないな だから聞いたのか 672で自らの理解力を露呈して自爆しやがってw
698 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 13:47:12.06 ID:MkHFWGSb0.net] >>655 だれかこれに触れてほしい(自己主張) C99というかモダンCプログラミングの初歩として (手前味噌だが)かなりいい感じだと思うんだけどどうかな。 とりあえず今までのhello worldプログラムは ・return文、しかも0固定をmain()関数に書いてしまっている ・main()関数に直に処理を書いてしまっている。 などの理由であまり実際に即していないと思うのよね。
699 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 13:58:30.03 ID:4awkQadJ0.net] >>681 人は互いに理解し合えるという幻想に対する反例として読んでます
700 名前:デフォルトの名無しさん [2018/10/17(水) 13:59:47.69 ID:8efdFbKLa.net] 別にmain()に処理書いてもいいと思うがな。パッと見てわかるぐらいの小ささなら。 まあしかしこれは各個人の信仰の問題であって言語そのものの制限ではない。 そこまでなんとかしたいならそういう言語を作るしかない。 布教活動すれば信者は増えるだろうが相変わらず教義に反する異端者はこの世に存在し続ける。
701 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 14:08:29.78 ID:yNGPPWpxM.net] >>681 hello world に求められることは、できるだけ少ない手数でイメージ通りの結果が得られることだと思うんだ。宗教の前に。 >>655 に込められた思想が分かるようになるのはずっと後。 まあ、ある程度分かるようになってからのお題としてここで議論するのは面白いかもね。
702 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 14:25:03.69 ID:JU3vAU4Ix.net] mainの中にputsの代わりに別関数呼ぶと言うのはビジネスロジックをmainから極力排除するという意図があると推測するけど、最初の一歩としては複雑すぎる。 いきなり最初から関数、inline、static、exitの仕様を理解する必要があるので。
703 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 15:12:32.44 ID:Nvagglal0.net] スタイルの問題じゃねえ sizeof(32)とか書いてるアホが指導員やってることが問題なのであって
704 名前:デフォルトの名無しさん [2018/10/17(水) 15:16:21.42 ID:mC+TJhpha.net] voidといいsizeofといい、今年は豊作だなw
705 名前:デフォルトの名無しさん [2018/10/17(水) 15:38:23.06 ID:6YtQ5uRO0.net] b=の書換質問は釣りだったんだな
706 名前:デフォルトの名無しさん [2018/10/17(水) 16:16:17.24 ID:O9lRBr4Z0.net] voidくん見てる〜? sizeof(32)くんて友達出来てよかったねw
707 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 16:32:00.39 ID:TQLylYbFa.net] ブルーボトル日本開店おめでとう。 西海岸で飲む、いつもの味。僕にとって新鮮みがないことが、成功の証だと思う。
708 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 18:16:44.83 ID:p0V48QfGM.net] >>680 で、ごたくはいいから>>674 の回答書いてみろよ まあ書けずに逃げ回るんだろけどな w
709 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 18:18:55.24 ID:jwV5Qww90.net] >>655 >>681 ゴミだね お前ら初心者はもう少しわきまえた方がいい。 初心者が思いつきで出来る領域はCにはもう残されていない。そういうのがやりたいのならGoやRustに行け。 C99からもう20年近く経つ。 その間、誰もそういうことをやらなかった(或いは、やっても流行らなかった)のは、その必要がないからだ。 今のお前のように、無視されて終わったからだ。 それが何故ゴミなのか理解出来ないうちは、もっとコードを書くことだ。
710 名前:デフォルトの名無しさん [2018/10/17(水) 18:31:08.37 ID:bYFTmDwea.net] 半角にするの忘れてるぞ
711 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 18:50:31.41 ID:jwV5Qww90.net] >>693 俺は半角君ではないし、あおり抜きでゴミだって事だよ。 マジでそういうことを世界中の誰も20年間しなかった理由を考えてみろ。 この期に及んでお前らみたいな糞初心者がCに溢れている意味が分からんが、 お前らはどうやらどの言語でも良くて、単に流れているスレに溜まっているだけだろ。 だから無理にでも流れないと不安になるから無駄釣りしているわけでさ。 そういうのも迷惑だから止めろ。
712 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 19:22:06.89 ID:EXKxlQhR0.net] マジックNGワード「お前ら」 ※2(5)chの全板共通 釣りレス or 気が触れた方のレス or 玄人ぶった素人のレスなど。 ウザいレスを回避する際に使用します。 参考: 【レス抽出】 対象スレ:C言語なら俺に聞け 148 キーワード:お前ら 抽出レス数:18
713 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 19:59:27.76 ID:jwV5Qww90.net] >>695 お前らが駄目なところはそういう所なんだけどな。 最近パヨクが急速に腐ったのも同じ理由だ。 最近は693みたいに、「俺の希望する意見じゃなきゃイヤ」な奴が多すぎる。 ネットってのはリアル以上にいろんな人がいて、様々な意見を聞ける。 その中で、どんな偏った意見も、探せば出てくる。 フィルタ(ブロック)しまくれば都合がいい意見しか見えない状況が簡単に作れる。 これは昔で言う、イエスマンで周囲を固めた状態だ。一番やってはいけないと言われていたことだ。 そしてそれをやりまくったのがパヨクで、今は世間とずれまくってるだろ。 今の状況で俺をブロックするのなら、お前らはパヨク以下に落ちる。 勿論、俺が言っていることが間違いだらけで、読む価値無しと判断するなら、フィルタするのは自由だ。 しかし実際の所、>>681 を肯定的に評価している奴なんて誰もいないだろ。俺が一番はっきり言っただけであってさ。 この状況で俺をフィルタするってのは、お前はパヨク予備軍だって事だよ。 世界中を探して>>681 を褒めてくれる奴を見つけだし、そこに移住すれば、君らは幸せになれるだろう。 俺も君らが居なくなって清々するし、有り難いから、そうしてくれれば助かるのだが。 そもそも、この程度でNGが必要な奴はここ(2ch)に来るべきではないし。 まあ、>>695 には俺が見えてないはずだから、この話はここで終わりだが。
714 名前:デフォルトの名無しさん [2018/10/17(水) 20:06:48.77 ID:O9lRBr4Z0.net] などと意味不明の供述をしており
715 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 20:12:27.30 ID:jwV5Qww90.net] >>697 >>689 もゴミだけどな
716 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 20:27:13.80 ID:oiR6YjXfM.net] 早く自分の巣に帰りなよ mevius.5ch.net/test/read.cgi/tech/1533459756/
717 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 20:44:17.20 ID:NzFClE36M.net] お題は「モダンなCでHello World」です ファイッ!
718 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 20:50:17.71 ID:MkHFWGSb0.net] 弁明しておくと、俺の >>655 は釣りじゃなくて、まったくの興味というか こういうプログラムのほうがいいんじゃないかという提案だった。 結果的に荒れ気味になってしまったのはすまん。 (個人的には旧hello worldよりも洗練されていると思うんだけどなぁ……)
719 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 20:56:16.85 ID:NzFClE36M.net] 好きか嫌いかよりコードで語れよ!!
720 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 20:58:45.43 ID:jwV5Qww90.net] >>699 お前も何故か必死なんだな。 同一人物でないのなら、単に>>681 や>>655 を褒めてやればいいだけだろ。 そこで「気に入らない意見」(に反論)ではなく、 気に入らない意見を言った「俺」にフォーカスしてくる辺りがパヨク予備軍なんだよ。 実際の所、ネット上には間違ったことを言う奴も多い。それが俺だというのならさておき、 誰も>>681 を褒めてないし、20年間世界中でそんな馬鹿なことをした奴が居ないのも事実なんだから、 そのことをふまえて普通に考えれば、>>681 がゴミなのは事実だし、自明だろ。 ゆとりはスクラムを組んで連呼し、黒を白だと主張する事がよくあるが、それは明白な間違いだよ。 てゆうか、一体お前らは何がしたいん? ゴミをゴミだと言われない匿名掲示板なんて、逆に存在価値がないだろ。 腐されたくないだけなら、FaceBookでやるべきだ。 後ろ指さされることはあっても、堂々とゴミだと言われることはあまり無いはず。 それがお前らの望みなんだろ? (今回の>>677 もそう。ここでボロカスに言われることはあっても、直接言われることがないからあのままなのであって)
721 名前:デフォルトの名無しさん [2018/10/17(水) 20:59:31.12 ID:OPzCf6X6a.net] >>701 洗練されているとは思うが学び始めたばかりの初心者に最初に見せるサンプルプログラムとしてはやはり複雑なのではないかと思う。
722 名前:デフォルトの名無しさん [2018/10/17(水) 21:07:03.53 ID:OPzCf6X6a.net] >>703 お前はゴミだ。
723 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 21:44:14.14 ID:jwV5Qww90.net] >>704 褒める気があるのならもっとはっきりと褒めろよ。 >>705 そういうところがお前らの駄目なところだ、と言っているわけだが。 まあ所詮それがゆとりの限界だよな、とは思う。 否定されたことがないから否定されることに過敏なのか?最近この手の輩はよく見かけるが。 しかし、俺をゴミ呼ばわりするお前ですら>>704 程度しか言えないのなら、 逆に俺の意見「>>681 や>>655 はゴミ」を補強しているではないか。 俺をゴミ呼ばわりするのなら、もっとベタ褒めしないと筋が通らないだろ。 そのことにすら気づけないのか?
724 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 22:03:17.39 ID:jwV5Qww90.net] >>701 一応マジレスしておく。 ただし技術的な答えは書かない。 これは最近、この手で煽って答えを書かせる輩が増えていると感じるから。 そういう奴らにはエサを与えず、餓死させるのが習いだ。 君のせいではないから、この点は安心していい。 > こういうプログラムのほうがいいんじゃないかという提案だった。 これはいい。 というか、こういうのを自由にやれるところがいいところであって、 逆に、遠慮して何も言えないようなら匿名掲示板の存在価値はない。 だから、思ったことはどんどん言えばいいし、 それについて文句を言いたければ言えばいいし、結果的に荒れても問題ない。 ここは、そういう場所だから。 逆に、FaceBookや実名空間で出来ることをここでやるべきではない。 実名空間で口頭でやった方が手間もかからず早いからだ。 問題は、ゴミをゴミだとはっきり言いきった俺に対して、 言い方が良くない系の言いがかりを付けてくる馬鹿が多いことだ。 匿名掲示板で全員が意見をオブラートに包んで言うようになったら存在価値なんて無くなる。 そもそも、それを求める奴がここに来るのも間違っている。 そんな奴は、少なくともコテハン制の所に行くべきなのさ。
725 名前:デフォルトの名無しさん [2018/10/17(水) 22:07:22.33 ID:Ny9Q/0jK0.net] 相変わらず低学歴知恵遅れたちは 超どうでもいいことで 超どうでもいいレスをひたすら書きこんでるわ
726 名前:デフォルトの名無しさん [2018/10/17(水) 22:07:25.85 ID:MwWLHD/ka.net] >>702 言えてる。 CASL2の勉強で1から140までの合計を求めて、その数を文字列に変換するプログラム書いたんだけど、どうよ? ほら。Cって組込にも使われるじゃん。 printfが無い環境のために良い練習じゃん。 (実際、組込Cでprintf無いけど、キャラクタディスプレイ付ければ文字コードを送ると表示される環境と言うのがある) なぜ140かと言うと各桁が同じ数字じゃ無いので保存場所の間違いに気付きやすいから。 4桁は合計で出た数の桁数。 キャラクタディスプレイの代わりにputs縛りって事でさ。
727 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 22:09:24.04 ID:SO2V+VK90.net] 長いよ コードと同じように簡潔にやろうぜ
728 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 23:03:46.64 ID:NzFClE36M.net] 半角 VS ゴミ 盛り上がってきました
729 名前:デフォルトの名無しさん mailto:sage [2018/10/17(水) 23:25:43.86 ID:35FivH1Pa.net] >>701 hello worldの目的からすれば、意味のある動作する完全なコードを最もシンプルにかつ素直に表すことが重要だと思うから、個人的には従来のhello worldの方が「洗練」されてると思う。
730 名前:デフォルトの名無しさん [2018/10/18(木) 00:56:03.83 ID:kg6wANGU0.net] >>707 でもvoid君はC言語詳しくないじゃん
731 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 01:24:29.78 ID:YedLW6kI0.net] 見立てによるとJava厨だからな voidは知ってるが
732 名前:引数voidは知らない、 となればJavaスレで相手にされなくなってCスレにマウンティングしに来たクズだ >>37 はもう伝説だろ [] [ここ壊れてます]
733 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 02:05:44.91 ID:WDPIjajG0.net] >>691 おまえの勝手な妄想にどう答えろって言うんだよアホ
734 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 02:29:02.90 ID:+6TFZypL0.net] >>713-714 お前らがC言語に詳しいつもりなら、それなりの見解を添えて>>681 や>>655 に対しての意見を言えばいいだけ。 誰一人として褒めてない(≒俺の意見も正しい)この状況で、 そういうゆとりスクラムでゴネて駄目なものをさも素晴らしいことにしようとするからゆとりは嫌われる。 お前らは自覚出来ていないようだけども。 いずれにしても、ゆとりスクラムなんて誰も得しないから止めとけ。 お前ら自身も学ぶ機会を失っているだけだし。 表面的な言い争いでスレが潰れることはない。 >>681 だって、本当にそう思って主張したのだから、それでいい。それで荒れるのなら、それも仕方ない。 ただ、スクラム組んでるゆとりみたいに、自由な意見を排除しようってのは、スレを毀損し、潰す。 だからそれは止めろと言っている。 お前らが望む「どんな糞コードでも褒めてもらえるスレ」は、ここ(2ch)では存在し得ない。 お前らみたいに、自分の意見を全く言わず、ただ他人を馬鹿にしたいだけの奴が居るのも、また事実だから。 ただここら辺、何度言ってもゆとりには通じないところをみると、やはりギャップがある。 俺には、ゆとりが望む「どんな糞コードでも褒めてもらえるスレ」は存在価値が無いと思える。 読んだとしても、全く上達に繋がらず、むしろ道を誤ることになるからだ。 ここら辺がマジで通じないのは何故か、分かる人がいたら、解説願いたい。 ゆとりは今の居心地の良さ、つまり、書いてある内容の正誤より、言い争いのないだけのスレを好む傾向がある。 そして、それが長期的にはスレを殺すことも認識出来ない。実際、それでスレがゴミ化するのを何度も見てきた。 これがゆとりの特性、ってことなのかね? まあとにかく、誤解無いように何度も言っておくが、 俺自身は653や679のような主張はやりたいのならやればいいと思っている。 そして中身はゴミだという見解だ。 結果的に荒れたようになっているのは679のせいではないから、萎縮する必要はない。 が、誰も褒めないコードを素晴らしいと思えちゃうのは、679に技術的な問題があるんだよ。それは自覚した方がいい。
735 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 03:00:15.26 ID:SqeIqpTY0.net] >>716 指摘あざす。荒れ気味になっちゃったのは残念だけど、俺のコードに関して(賛否関係なく)F/Bを貰えたのは嬉しい。 差し支えなければどの辺りがゴミなのか教えてもらえないかな。今後に生かしたい。 というよりも、既存のhello worldプログラム——つまり #include <stdio.h> int main(void) { printf("Hello, C!\n"); return 0; } で、(C言語の関数としてはあまりに多機能で異質な)printfを使っていたり 組込み機器向けのプログラムでもないのにmain()関数をreturnで終了していたり main()関数のなかに直に処理を書いてしまっている点は、問題ないと考えているってことだよね。 これらはこのプログラムを書く初心者にとっては不要な心配だということかな。
736 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 03:05:01.38 ID:acZxv8zY0.net] ほんと人間は分かり合えないという実例だな その2つの指摘のどちらも誰にも共感されないだろう 世界は広いから「誰にも」は言い過ぎかもしれないけどさ
737 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 03:17:25.13 ID:WDPIjajG0.net] >>717 組み込み機器ではmain()関数をreturnで終了せよと?
738 名前:デフォルトの名無しさん [2018/10/18(木) 03:42:00.06 ID:CSkK3ONp0.net] >>716 >>681 や>>655 への意見以外の事
739 名前:を長文で沢山書いてるのは君だ。 もっと自分のやっていることを自分で見た方が良い。 [] [ここ壊れてます]
740 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 04:54:24.19 ID:iSVWVd6E0.net] >>715 勝手な妄想? > c99はGNU/Linuxだとgcc -std=c99を実行してる。 > icc -std=c99 -O2 -Wall -Werror -Wextra hello.c -o hello > でも成功。 に対して > -std=c99いらねって > デフォだぞ今のgccは って書いたアホがいたって話なんだが w
741 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 06:21:20.70 ID:M8AMqVol0.net] >>721 だから書いたが それがどうしたんだよ おまえiccがどうたらぬかしてたろ ちゃんとそこをからめて説明してみな
742 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 06:34:59.00 ID:k5RfC1S9M.net] 半角はまだコード書き込んだりする分>>716 よりマシだな
743 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 06:45:51.12 ID:LRx1sLItM.net] >>717 どちらがより初学者向けかの比較の問題だと思う。 既存のhello worldが今の時代に則して最適とは思わないけど、それにも増して貴方のhello worldがいきなり覚える要素が多すぎて適切じゃない。 ちなみに組み込みを何か勘違いしてるっぽいけど、普通はmainからreturnさえしない。
744 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 06:47:39.20 ID:zbm0s+GWM.net] >>722 -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
745 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 07:09:12.87 ID:SqeIqpTY0.net] >>724 > 普通はmainからreturnさえしない マジかw これは恥かしい勘違いだわ。 普段まったく組込み関係に触れてないのがバレてしまった。
746 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 07:46:50.50 ID:OVQJgcG30.net] OSが存在しない組込み系ではあり得ないこともない 通常は電源投入後スタートアップルーチンからmain関数を呼び出して電源遮断するまで永久ループ 万一、電磁パルスや放射線等でマイコンが動作しプログラムカウンタの値が狂ってループ外に脱出した場合は強制リセットで再起動 void main(void) { while(1) { ... // メインループ: 永久ループで脱出不可 } _asm("JP VECT_RESET"); // 異常発生により強制リセット: スタートアップルーチンへ強制ジャンプ }
747 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 07:52:06.39 ID:VFmelRyo0.net] 確か今のコンパイラ(icc,gcc,clang)ってデフォルトで-std=gnu99か-std=gnu11じゃなかったっけ
748 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 07:52:47.02 ID:OVQJgcG30.net] 訂正 マイコンが動作 マイコンが誤動作
749 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 08:00:46.41 ID:SqeIqpTY0.net] >>728 そうかもしれないが gnu99とc99はちょっと動作違うじゃん? と言ってもトリグラフの警告の有無とかその程度だけど。 c99コマンドは-std=c99だけどiccコマンドは-std=c99を明示すべきと判断した。
750 名前:デフォルトの名無しさん [2018/10/18(木) 08:38:10.70 ID:CSkK3ONp0.net] >>726 その辺はどう作るかによるだろう。
751 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 08:57:20.34 ID:q7k7CaDsa.net] voidに加えてreturnが加わった?
752 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 09:11:12.73 ID:LRx1sLItM.net] >>731 プロセスベース以外の組み込みソフトでmainからreturnするコードを見たことないんだけど、もし差し支えなければ後学のためにどんな作り方があるのか教えてください。
753 名前:デフォルトの名無しさん [2018/10/18(木) 09:11:29.09 ID:xtVP5nmJa.net] 本当に今年は豊作だ
754 名前:デフォルトの名無しさん [2018/10/18(木) 09:13:27.72 ID:xtVP5nmJa.net] >>733 そんなもんmain呼ぶcrtの方で無限ループするように作っとけばできるじゃん。
755 名前:デフォルトの名無しさん [2018/10/18(木) 09:19:15.80 ID:qf9NxgCDa.net] >>709 に誰も挑戦しねーし。。。 千の位は1000で割れば数が出るし、余りが千の位を引いた数だから、今度は百の位、十の位ってする。 各位の数字に16進数の30(文字コードで数字の0)を足すと文字列の完成。 (
756 名前:Cだと末尾に¥0も必要。“0000”とか文字配列作れば自動で挿入される) 大まかなロジック教えれば書けるだろ。 分かってみれば大した事してないんだよ。 [] [ここ壊れてます]
757 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 09:20:39.69 ID:LRx1sLItM.net] >>735 「そういう作りもできる」ってのは分かります。 mainの外部に無限ループのあるソースは見たことないので普通はそんな事しないと思ってました。
758 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 09:20:47.49 ID:q7k7CaDsa.net] 経験的には、exitしちゃだめというシステムはあったけど、returnしちゃだめというのはなかったなあ。 returnに到達しないプログラムはもちろんあるけど。
759 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 09:22:20.30 ID:LRx1sLItM.net] >>737 補足です。 mainからreturnした後に無限ループってのは普通に見ます。 あくまでmain自体を無限ループで囲んでいるのは見たことなかったです。
760 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 09:43:07.26 ID:jV/G7rqZ0.net] >>725 つまり精神科に行くのはおまえってことだな 語るに落ちたなw
761 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 11:44:54.60 ID:9LQIedmj0.net] 一周まわって、何かあったらどんどんexitするようにしたよ メモリリークしてるかも? ⇒ 一応プロセス再起動 処理が滞ってきたかも? ⇒ 一応プロセス再起動 便利なOSを使うようになってからどんどん怠ける一方よ
762 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 12:46:19.16 ID:q7k7CaDsa.net] めっちゃプロセス起動速いOSあってもいいよねと思ったけど、結局LWPのスレッドになるんだろうな
763 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 12:58:15.88 ID:rzx784yQM.net] メモリリークとか、そこら辺勉強するのにおすすめの方法ある
764 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 13:59:29.92 ID:4lyuEWGMa.net] たんにfreeとかdeleteすればいいだけだからなあ。 オブジェクト指向・デザインパターン一般の教科書読めば自然に身につきそう
765 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 14:06:31.65 ID:tgytymo80.net] メモリーリークの勉強は本で学ぶよりも 痛い思いをして体で覚える方が身につく 個人の感想ですけどw
766 名前:デフォルトの名無しさん [2018/10/18(木) 14:51:32.83 ID:G4vijIF0a.net] C言語は言語レベルではオブジェクト指向はサポートされていない
767 名前:デフォルトの名無しさん [2018/10/18(木) 14:54:22.85 ID:G4vijIF0a.net] >>745 しかし身に付いても中々メモリリークのバグはなくならないよな。 やはりその辺が心配なら他の言語使った方が良いと思う。
768 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 14:58:25.72 ID:daUW8tpUa.net] クソコードに揉まれてクソコード書きになった人も多いから、クソを体験しろとも言えんな… 長い時間かけてデバッグして身についたもんは確かにあるけど、人生は貴重だからな。
769 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 14:58:42.11 ID:jV/G7rqZ0.net] ロジックが組めないやつ多いな
770 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 15:18:22.83 ID:ca3mAHpxa.net] インスタンスのライフタイムさえ設計すればメモリリークなんぞ発生しないと思ってるわ
771 名前:デフォルトの名無しさん [2018/10/18(木) 16:28:17.06 ID:hfM3a7YWa.net] 誰もがそう思うのだよ。 しかしこの世は思い通りにはならんのだ。
772 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 17:01:30.59 ID:jV/G7rqZ0.net] 言い訳見苦しい
773 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 17:03:30.38 ID:tgytymo80.net] プログラムは思った通りには動かない、書いたとおりに動く
774 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 18:23:41.17 ID:hi9P8c2Aa.net] 俺はC使い始めて3年のペーペーだけど、リークなんてやらかしたことないし、今後もやらかすと思えない 敗北を知りたい
775 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 18:30:40.98 ID:tgytymo80.net] >>754 多分仕事させてもらってないだけだろう
776 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 18:31:07.24 ID:e4/wObWIH.net] >>754 「malloc()使ったら負け」 strdup()「……」
777 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 18:46:49.06 ID:aXnVPh22a.net] 初心者は初心者であるが故にそれに気が付かない
778 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:06:12.18 ID:qjnLT1/0a.net] freeしなくて済むならそれにこしたことないわ
779 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:11:03.75 ID:Lxt1YLpM0.net] リスト構造でありそうな、作った所と殺すところが入れ子になり難いのは気をつかう
780 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:20:20.66 ID:rzx784yQM.net] C++erだけどmallocなんてもうしたくない まあ、勉強するときにしてるけど
781 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:23:14.70 ID:Lxt1YLpM0.net] あと開放された後なのに、そのポインタのデリファレンスしてたり 別スレッドで確保した時、そこに割り当て発生〜別スレッド側の正当な書き込み → 不当な側のデリファレンスでブッコワレーターな値 とか
782 名前:デフォルトの名無しさん [2018/10/18(木) 19:26:42.15 ID:9i8IzX+1a.net] C++だと工夫すればかなり自動化できるんじゃないか? Cと同じようにも書けるからハマる時はハマるだろうけど。
783 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:40:59.71 ID:qjnLT1/0a.net] 入れ子って意味間違ってない?
784 名前:デフォルトの名無しさん [2018/10/18(木) 19:46:10.54 ID:qf9NxgCDa.net] 734 デフォルトの名無しさん (アウアウカー Safb-dUTK)[] 2018/10/18(木) 09:19:15.80 ID:qf9NxgCDa >>709 に誰も挑戦しねーし。。。 千の位は1000で割れば数が出るし、余りが千の位を引いた数だから、今度は百の位、十の位ってする。 各位の数字に16進数の30(文字コードで数字の0)を足すと文字列の完成。 (Cだと末尾に¥0も必要。“0000”とか文字配列作れば自動で挿入される) 大まかなロジック教えれば書けるだろ。 分かってみれば大した事してないんだよ。
785 名前:デフォルトの名無しさん [2018/10/18(木) 19:47:20.69 ID:qf9NxgCDa.net] ; 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
786 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:47:28.28 ID:ca3mAHpxa.net] >>755 >>756 何をしたらリークするのか逆に聞きたい 仕様を読んでないアホな顛末は要らんです
787 名前:デフォルトの名無しさん [2018/10/18(木) 19:47:29.90 ID:qf9NxgCDa.net] 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
788 名前: mailto:sage [2018/10/18(木) 19:48:27.83 ID:ErYslHJw0.net] >>744 >>750 それは甘いと思います >>754 気がついていないだけだと思います
789 名前:デフォルトの名無しさん [2018/10/18(木) 19:49:54.55 ID:qf9NxgCDa.net] まあ、CASL2のコード載せたからって書くやつが現れるなんて思ってないが。。。 本っ当にお前ら終わってるな。 プログラマーになり損なった俺より、なお悪いわ。
790 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 19:56:27.89 ID:ca3mAHpxa.net] >>768 >>766
791 名前:デフォルトの名無しさん [2018/10/18(木) 20:01:35.14 ID:9i8IzX+1a.net] >>766 malloc()等でメモリ確保してfree()しなければメモリリークになる。 その他strdup()のように内部でmalloc()を使っているやつは同様。
792 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 20:03:41.77 ID:ca3mAHpxa.net] >>771 > 仕様を読んでないアホな顛末は要らんです
793 名前:デフォルトの名無しさん [2018/10/18(木) 20:12:08.73 ID:9i8IzX+1a.net] >>772 何をするとリークするかを書いただけだが?
794 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 20:37:01.47 ID:ca3mAHpxa.net] >>773 だからそんなアホなレスは要らんです、と書いたんだが?
795 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 20:41:42.24 ID:zbm0s+GWM.net] >>740 はいはい 精神科医ってこう言う輩の相手するんだよな... 大変なお仕事だわ w
796 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 20:44:20.85 ID:tgytymo80.net] 「私の書いたプログラムは絶対にメモリーリークは発生しません。バグもありません。試験は不要です」 こういうこと、一度は言ってみたい
797 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 20:58:01.13 ID:KO6AKpPQM.net] たったこれだけでリークするコードを仕込んだことになる。 もちろん仕様書通りの動作だけど、ノウハウ集を見るまえに気づくのはわりと難しいかもね。 p = realloc(p, 1 * sizeof(int));
798 名前:デフォルトの名無しさん [2018/10/18(木) 21:06:20.49 ID:CSkK3ONp0.net] >>774 しかし君はアホだから丁度マッチした適切なレスではないかな。
799 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:07:35.06 ID:cOwpgSZ30.net] >>777 そういった意味で realloc は若干まどろっこしいね。 失敗時は元と同じポインタを返して errno を設定してくれる方が変数のやりくりが簡単になりそう。
800 名前:デフォルトの名無しさん [2018/10/18(木) 21:08:03.73 ID:CSkK3ONp0.net] >>777 それでリークするかどうかはその他の部分がどう書かれているかによるのでは?
801 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:09:48.06 ID:qjnLT1/0a.net] 実際はmalloc失敗した時点でリークもへったくれもないと思うよ
802 名前:デフォルトの名無しさん [2018/10/18(木) 21:10:01.05 ID:CSkK3ONp0.net] ああ。失敗した時か。確かにリークするな。 そういう時はもう処理続行不能って事にしてexit()させてる。
803 名前: mailto:sage [2018/10/18(木) 21:11:09.99 ID:ErYslHJw0.net] >>780 realloc() が 0 を返すと p の持っていた値は失われ、free() できなくなる
804 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:13:01.26 ID:UwKrwHEY0.net] ptr = malloc() p = ptr p = realloc(p, ...)
805 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 21:14:42.17 ID:cOwpgSZ30.net] >>782 スレッドでの処理だとそのスレッドだけ終了させればよかったりするから、きれいに解放できないと具合が悪いな。 exit していいケースなら exit がいいと思う。
806 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 22:01:36.74 ID:IGzE2h5q0.net] 内部でメモリ確保しまくるライブラリを使う仕事に当たっちまったら、思いっきり痛い目に会えると思うよ
807 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 22:29:32.46 ID:+6TFZypL0.net] >>717 俺は書かないと言ったろ。理由は>>707 参照。 そして俺は最初に解法も示してる。>>692 参照。 つっても理解出来てないようだから、もう少し(非技術的な)解説をしよう。 現状、俺以外の他全員誰も褒めてないんだから、この際理由を『詳しくない』俺にわざわざ求める必要がないだろ。 しかし、何故か俺に意見を書かせようとする輩が多いだろ。お前も含めて。 それがアフィカスじみてて、結果的にスレを潰すから、俺はそれには乗らない、と言ってるんだよ。 見れば分かるとおり、スレの流れが異常だろ。 俺が何度もこのメタ議論を出している理由は、お前らゆとりが全くこの辺について無知だからだ。 お前らゆとりは、オンラインコミュニティは潰していいものだと思っている。 見方が本当に刹那的で、自分の質問に対しての答えが得られれば後はどうなってもいいと思っている。 (ただ乗り出来るし、勝手に発生するものだと思っている) 実際は、オンラインコミュニティだって、成熟するには時間も労力もかかる。 そこがどんなに(お前にとって)糞であれ、住めば都だから住人が居るわけで、そんなに簡単に潰していいものではないんだ。 ゆとりが老害老害と連呼しながらも2chにへばりついているのも、ちょっと考えればおかしいと気づけるだろ。 2chは古いし、年齢層は高い。これは事実で、実際、老害年齢層の存在確率は他のコミュニティよりも高い。 しかし、結局の所、ゆとり流では「既読疲れ」みたいなコミュニティしか形成出来なかったんだよ。これも事実だ。 だからお前らがここに文句を言いつつもへばりついているわけでさ。 それなのに、ゆとり流をここに持ち込もう、というのは全くの筋違いだ。それは2chを破壊するから止めろと言っている。 ゆとりには長期的な視野がない。2chに色々問題があるのも事実だけど、ゆとりに長期的視野と運営能力があれば、 今現在の20代は全員ゆとりなんだし、人数は揃っているのだから、 「ゆとりチャンネル」(通称ゆとりちゃん)が出来ても全くおかしくない状況だろ。 それが出来ないって事は、お前らゆとりにもかなり問題がある、ってことでさ。それは自覚した方がいい。
808 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 22:29:49.28 ID:+6TFZypL0.net] とはいえ、2chの問題点が目に付くのは理解出来る。 ただ、それに関して「何故そうなっているのかを理解出来ないのに文句を言っている」のが、 全く使えない意識高い系新入社員
809 名前:ニ同じ事になってる事にも気づいた方がいい。 お前らは完全に空回りしているんだよ。 ハロワも同じだろ。「何故世界中の誰も20年間それを修正しなかったのか」を理解出来ない癖に、 「俺のハロワ、凄いだろ」なんて言っちゃう辺りが痛い。 ただ、それは若さの特権だから、本当にそう思うのなら主張すればいいし、 ゴミなのを誰も褒めないんだから、ここのコミュニティもまだ正常、ってわけだ。 それで、話を戻すと、ゆとり流の無知と横暴は2chを潰すから止めろ、と言っている。 とはいえ、おそらくゆとりには悪気はない。これが話が通じない根本の原因だ。 しかし、2chにはゆとりを排除するシステム自体がなく、へばりつかれたらどうしようもない。 だから俺はゆとりを教育してやろうとしているわけでさ。2chに合う奴だけが2chに来ればいいのであってね。 笑顔で人を殺しても、殺人は殺人なんだよ。ゆとりはこれを理解出来てない。 同様に、どんなに上手に敬語を使っても、スレを毀損しているようでは駄目なんだよ。 ゆとりは乗っ取り行為が酷すぎる。しかもそれを自覚出来てないのが最悪。 [] [ここ壊れてます]
810 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 22:33:14.11 ID:tgytymo80.net] お怒りは理解しますけど、長い。もっと簡潔に書こうよ
811 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 22:48:32.02 ID:+6TFZypL0.net] >>789 文句があるのなら、異常な流れになる前に、お前が何とかして終わらせておけ。 それも出来ず、やろうともせずに文句だけ言ってるのだから、お前も相当のゴミだぞ。
812 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 22:48:48.36 ID:4hMlWk5Ba.net] >>778 >>777 だけを見て同じ方向を向く人たちには言われたくないなw
813 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 22:59:17.90 ID:tgytymo80.net] >>790 匿名掲示板なんて、誰が何書いても咎めようがないし そういうことで腹を立てても何も得しないと思うけど もっと大人になろうよ
814 名前:デフォルトの名無しさん [2018/10/18(木) 23:16:58.79 ID:THsg9J3q0.net] ハロワいけ ハロワ
815 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:27:27.31 ID:+6TFZypL0.net] >>792 効果はあるんだよ。だから書いてる。 正確に言えば、効果がある奴には効果がある、だが。 はっきり言えば、君の考え方もズレてるんだよ。 コミュニティは、オンラインであれオフラインであれ、存続する為には新人を受け入れるしかないんだよ。 だから、ゆとり世代以降を全員閉め出す、というのもまた間違いだし、 後10-15年後にはゆとりが社会の主力になるんだから、 それまでに駄目なところを鍛え直すのは上の世代の責任でもあるんだよ。 (君の考えに関係なく、俺達はゆとり世代に未来を託すしかない) だから俺は俺なりの方法でやってる。それで成果も多少は出てる。 お前は何もしようともしてないのに文句だけ言ってるクズだよ。 ネットだから何をやってもいい、ではないんだよ。 同様に、ネットだから何もやらなくてもいい、でもない。 ネットだから咎めようがない、でもない。 まあ君には通じないとも思うけど。
816 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:31:27.22 ID:tgytymo80.net] 有益なことなら読んでいるが 長い文章書かれても、大概の奴は読まないだろ 読まれれば効果が有るかもしれないが、 読み飛ばされても文句は言えない事は理解しないと
817 名前:デフォルトの名無しさん mailto:sage [2018/10/18(木) 23:55:16.65 ID:+6TFZypL0.net] >>795 > 読み飛ばされても文句は言えない事は理解しないと 理解してるぞ。というか、当たり前だろ。お前はアホなのか? まあお前も理解出来てないのだろうが、なんだかんだでみんな読んでるんだよ。 そのうち分かるようになるよ。 それ以前に、2chの『長文』ごときで無理な奴はプログラマは無理だし。
818 名前:デフォルトの名無しさん [2018/10/18(木) 23:56:44.20 ID:Mibooz+L0.net] たまに上から目線
819 名前:ナ長文書くバカいるけど誰も読まないんだよな 何故かって冗長なだけで大した事書いてないから [] [ここ壊れてます]
820 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 00:07:48.01 ID:kRG86wcga.net] 中身のある、読む価値のあるレスなら長文でもちゃんと読むが、ID:+6TFZypL0のは斜め読みしてめんどくさいだけのやつダナーと思いながら適当に読み飛ばしてる。
821 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 00:10:02.34 ID:Av8doxl90.net] >>797 そういうことにしたいのはお前が馬鹿だから。 実際は、賢い奴ほど読んでる。 正確には、賢くなる過程で大量のドキュメントを読む必要があり、結果、 賢くなった奴はおしなべて読む速度が速く、読むことに関してコストがかからないからだが。 そして、俺の意図は馬鹿にはどうせ伝わらないから、俺もそれでいいんだよ。 長文ガー、なんて奴は最初から相手にしてない。 三行で、一行で、というのもまた自由だが、 現代プログラマにドキュメントの読み込み能力がかなり必要なのも事実だし、 これは今後さらに拍車がかるのも目に見えているから、 2chの長文に手こずる程度ならマジで国語からやり直した方がいいぞ。
822 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 00:20:52.79 ID:e4N83vJpa.net] >>799 国語の能力に関係なく、攻撃的で、感情的で、実のない部分の比率が高い文章は誰にとっても読みにくいと思うぞ。 汚いコードを読みなれてそういうのを読むのが上手くなったからって、自分のアウトプットするコードは論理的かつ明瞭でキレイでありたいと思わない?
823 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 00:31:51.38 ID:Av8doxl90.net] >>800 何が言いたいのか分からん。 その君の文章が「論理的かつ明瞭でキレイ」だとでも思っているのか? 俺は俺なりの方法で対処してる。 読むかどうかは当然読み手側が決める。それでいいという前提で書いている。 君がもっと上手く対処出来るというのなら、君がやればいいだけ。 おかしな流れにならなければ、俺がわざわざ時間をかけて長文を投下することもない。 だから、君が見事に、アホ共を捌き、流れが正常化していれば、俺が出張ることもない。 君が俺にこの手の文を投下させたくないのなら、君が実力を見せればいいだけだ。 やってから言えよ。
824 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 01:22:54.20 ID:AAQqymuL0.net] 長文連投よりはアホがアホなこと書いてる方がマシだな。
825 名前:デフォルトの名無しさん [2018/10/19(金) 01:25:19.25 ID:U7ZV6G1w0.net] 5ちゃんで上から目線で長文書く奴の特徴は驚く程共通してるんだよな 例外無く論理的思考が欠如しているから要点をまとめる事も出来ないんだよ
826 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 02:00:24.64 ID:Av8doxl90.net] >>803 馬鹿こそそういうことにしたがるのだが、 実際、必要な文章量は、認識/知識のギャップに比例するんだよ。 実例を挙げると、>>655 ,681、ゴミだね、でしかない。 賢い(知識のある)奴にはこれで十分だし、 無理な奴にはグダグダ説明が必要なだけ。 そして俺はお前らがこの件(メタ議論)については無知だと見てグダグダ説明してるだけ。 そもそもお前らが賢ければこんな事にはならないし。 ただ、そういう、「この場合にはこれ」みたいな定型的な屁理屈返しはマジでゆとりに多い。 そういうのも止めた方がいいと思うぞ。誰の為にもならない。 俺も、何度もその返しは見てきた。 それで、誰も俺みたいな返しをしてこなかったから、 お前らゆとりが調子こいて「これは使える」と勘違いしているのだろうけど、 それは単に見捨てられてるだけだぞ。理解出来てないのだろうが。
827 名前: mailto:sage [2018/10/19(金) 07:03:22.13 ID:akKjNeBd0.net] >>801 >>>800 >その君の文章が「論理的かつ明瞭でキレイ」だとでも思っているのか? 個人的には >>800 は読みやすいんだが、ID:Av8doxl90 は非常に読みにくい たとえば >>799 は文脈・論理の線が、不適切な日本語を使用しているせいで滅茶苦茶だ >>799 >実際は、賢い奴ほど読んでる。…@ >正確には、〜コストがかからないからだが。…A この「正確には」が、読み手を混乱させるミスリード語。 「正確には」と書く以上、すでに述べた@と同格言い直し内容の後続があるかと期待すると、裏切られて、@の理由を示すAが来る。 >そして、〜伝わらないから、俺もそれでいいんだよ。 「そして」が意味不明、何と何が「そして」で続くのかさっぱりわからない。 「そして」を使うのなら、 「俺の文が、馬鹿には読むコストのかかる文章であったとしても」→「馬鹿にはどうせ俺の意図伝わらないから」→「俺はそれでもいい」…B と、A部分のキーワード「コスト」という単語を使うことによって、AとBが意味の上でつながっていることを明示するべきだ Bの冒頭を省くから「そして」が宙に浮く >>801 >おかしな流れにならなければ、俺がわざわざ時間をかけて長文を投下することもない。 上で示したように、君の文章は「おかしな流れ」そのものといっていい スレが「おかしな流れ」であるとき、それを正すのに「おかしな流れ」の文章が使えるとでも思っているのか?
828 名前: mailto:sage [2018/10/19(金) 07:17:05.03 ID:akKjNeBd0.net] >>803 >上から目線で長文書く奴の特徴 >論理的思考が欠如している 感情にまかせて思いついた単語を羅列するあまり、 前半と後半の意味の整合性がとれていなかったり、前半と後半をつなぐ接続詞が不適切であったり、で、 はっきりいって脈絡がない 書いている本人はテンポ良く文章を量産できる「頭のいい自分」に酔いしれているのだろうが、 実際には量産されているのはポンコツ文
829 名前:デフォルトの名無しさん [2018/10/19(金) 10:18:49.82 ID:gPrGaWTXa.net] 長文をゆっくり書いていられるゆとりのある人はいいなあ
830 名前:デフォルトの名無しさん [2018/10/19(金) 10:20:47.68 ID:SjrnPnkZa.net] ポンコツかどうかはコード書かせれば分かるだろ。 この世界では他がポンコツでもコードが書ければ正義だ。
831 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 12:53:54.85 ID:7j5wTJzZ0.net] >>804 すまん。俺には知識もないし賢くもないので もしもあなたさえ良ければ>>655 のゴミな点を指摘してもらえると嬉しいな。
832 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 13:19:52.78 ID:R+tFUjApM.net] >>808 いくらコードが書けても設計通りに書けないなら駄目じゃん
833 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 13:27:43.51 ID:F6BbYzOIH.net] >>809 hello worldの存在意義は、 その言語に初めて触れる人に、 言語の規格にきちんと準拠して、 最小限の記述で、 きちんと動作する、 何かのプログラムを見せることだよ。 どんな設計スタイルがいいとか教えることじゃない。
834 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 13:59:06.39 ID:P91Z2zs70.net] hello, worldって コンパイラをインストールした後 動作確認する為のテスト用だと思ってた
835 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 14:28:27.19 ID:bojs5aOI0.net] ゲーム機ハックした人が最初に実行した自作アプリがhello worldだったとかなんとか。
836 名前:デフォルトの名無しさん [2018/10/19(金) 14:33:09.80 ID:gPrGaWTXa.net] カーニハンそんなことやってたっけ?
837 名前:デフォルトの名無しさん [2018/10/19(金) 15:14:02.97 ID:SjrnPnkZa.net] >>810 設計通りに書けない奴はコードが書ける奴とは言わんだろ。
838 名前:デフォルトの名無しさん [2018/10/19(金) 15:21:55.54 ID:SjrnPnkZa.net] >>811-812 どっちも正しい。 >>813 GBAハックした時は点を一個表示するのが最初だった。 Hello Worldは二番目。
839 名前:デフォルトの名無しさん mailto:sage [2018/10/19(金) 16:34:20.62 ID:2swZl7760.net] adjtimeって何秒まで調整できるの? 2145秒?
840 名前:デフォルトの名無しさん [2018/10/19(金) 17:14:10.33 ID:gPrGaWTXa.net] Linuxというかglibcならmanページに書いてあるよ。
841 名前:デフォルトの名無しさん [2018/10/19(金) 22:42:18.68 ID:zxKaiBZl0.net] make worldでX立ち上がったときは 感動したものだ
842 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 00:30:32.53 ID:o/rPvxpn0.net] make world
843 名前:ってなんかかっこいいよな [] [ここ壊れてます]
844 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 00:33:01.78 ID:rwRxHeub0.net] 世界の創造主、いわゆるゴッド
845 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 01:37:49.13 ID:/s/GXT/Q0.net] それで思い出した プロジェクトでのmakefile、作成が終わった時に バナー文字で「make end!」って表示するんだけど ある人のだけは「big cock!」に書き換えてたっけ ここには関係者いないよね?
846 名前:デフォルトの名無しさん [2018/10/20(土) 15:49:24.33 ID:Nttc2RvPa.net] C言語だから、次世代言語(w)よりもコード出るかと思ったら、出ないのな。
847 名前:デフォルトの名無しさん mailto:sage [2018/10/20(土) 21:33:22.48 ID:y1kFtLUq0.net] どうでもいいけど 「w」という名前の言語があるのかと思った。割と本気で調べてしまったw
848 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 04:55:52.71 ID:sz/a4USN0.net] >>824 あるね。 memo.sappari.org/a2z-languages www.vttoth.com/CMS/index.php/projects/49
849 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 20:05:57.37 ID:YP/adz7t0.net] >>775 近称で自己紹介乙
850 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 21:20:19.52 ID:S2kctYlU0.net] >>826 ごめん、俺は精神科じゃないし w
851 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 21:28:27.90 ID:o3Tx01ZR0.net] 病気の話を持ち出すのは、そういう体験が豊富にあるからだろう
852 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 22:08:00.66 ID:YP/adz7t0.net] >>827 人物と診療科を等値比較とかおまえstd::logic_errorだな
853 名前:デフォルトの名無しさん [2018/10/21(日) 22:17:56.29 ID:+iExR7UM0.net] 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"); }
854 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 22:24:44.10 ID:S2kctYlU0.net] >>829 精神科医のタイポの指摘しかできなくて悔しいね w
855 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 22:40:20.13 ID:P+edJh4ea.net] 定数のマクロあったりしないのか
856 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 23:01:49.92 ID:YP/adz7t0.net] >>831 あ、おまえ間違えたの? アホとヴァカしかやらない間違いだなw
857 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 00:28:49.01 ID:4J0CKskh0.net] 基本情報c言語で受かってた すごいっしょ
858 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 01:24:24.92 ID:qPiOMOlUM.net] >>830 なんかいろいろ勘違いしてないか >1.175494e-38を抜けるとバカな数字が出てくると仮定して この仮定がはずれてるから無限ループしてんじゃん
859 名前:デフォルトの名無しさん [2018/10/22(月) 01:30:41.57 ID:eGJ65JSF0.net] >>835 int型だとオーバーフローすると馬鹿な数字がでてくるからそう仮定したんだが違うのか 率直に聞くんだけど、この場合どうすればいいの?
860 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 01:41:56.82 ID:ao50gEDc0.net] >>836 バカな数字とかいい加減な理解をしないで、ちゃんとした仕様を調べてみなよ。例えばwikipedia辺り
861 名前:ナ算術オーバーフローの項目見て全部読んで、分からない語とか関連する語もちゃんと調べるとか。 [] [ここ壊れてます]
862 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 02:29:56.23 ID:gc2RKbtu0.net] >>835 >>837 無限ループはしないけどどんどん値は減っていく。 理由わかるの?828じゃないけど俺も知りたい。
863 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 02:49:07.02 ID:qPiOMOlUM.net] >>836 int? int使ってる?
864 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 04:47:45.21 ID:o0mVKFY/0.net] >>833 >>831
865 名前:sage [2018/10/22(月) 04:59:16.08 ID:eGJ65JSF0.net] >>839 int型で似たようなこと(最大の正の数値を求める)やろうとしたら、バカみたいな数字が出たってだけだよ
866 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 06:47:45.13 ID:MQnoZdqg0.net] >>840 アホw ヴァカwww
867 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2018/10/22(月) 07:09:00.78 ID:PnrNZBigM.net] >>842 >>775
868 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2018/10/22(月) 07:36:45.42 ID:3zPWDIkK0.net] >>830 非正規化数(denormal)でぐぐれ
869 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2018/10/22(月) 09:03:08.22 ID:MQnoZdqg0.net] >>843 アホとヴァカを認めやがったw
870 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2018/10/22(月) 10:25:10.75 ID:OFRfv3K50.net] KYB
871 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 12:24:07.96 ID:PnrNZBigM.net] >>845 意味のわからん解釈で勝ち誇るとか低能の定番乙 w
872 名前:デフォルトの名無しさん [2018/10/22(月) 12:59:00.86 ID:8WYgXfgna.net] そろそろコードで語れや
873 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 13:28:16.05 ID:MQnoZdqg0.net] >>847 意味わからんのか よほど高力価のトランキライザーを打たれているようだな もう末期でオピオイドとかか? お大事に
874 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 15:05:43.37 ID:K/0BTgUUH.net] >>830 ですが、参考書やらをみてアンダーフロー・正規化についてしっかり理解したところ、解決しました。 要は、float型のビット表現の仮数部が 0.(仮数部) ではなく 1.(仮数部) で表現されてるから、 その意味では 0|00000001|00000000000000000000000 が最小の正数になるけど、仮数部を 0.(仮数部) と表現しても計算できないことはないから、 0|00000000|10000000000000000000000 もちゃんと表示される、ということだけど、 これ以降ずっと計算していくといずれ 0|00000000|00000000000000000000000 となるから、150回目くらいでアンダーフローが起こる、ということらしい。 >>837 と>>844 ありがとうございました。
875 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 19:09:18.14 ID:LClj1fo2M.net] >>849 >>847 アホとヴァカとしか言えなくて悔しいね w
876 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 21:38:29.05 ID:MQnoZdqg0.net] >>851 そうか、847にアホとヴァカって書いてあるのか 実際には、そう言ってるのはおまえだけなんだが 確かに悔しそうに勝ち誇っているシュールな姿だねw
877 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 23:25:34.63 ID:o0mVKFY/0.net] >>852 > そうか、847にアホとヴァカって書いてあるのか > 実際には、そう言ってるのはおまえだけなんだが ヴァカで検索 >>833 > あ、おまえ間違えたの? アホとヴァカしかやらない間違いだなw >>842 > アホw ヴァカwww >>845 > アホとヴァカを認めやがったw 849-850 は指摘なので省略 > 自分にお前だけとかかなりシュールな姿だねw
878 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 02:12:44.79 ID:hcGdXqLuM.net] 飽きないねぇ・・・
879 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 03:28:29.69 ID:MMiE9qLz0.net] >>850 色々違う
880 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 12:00:30.24 ID:cKF5Z2eR0.net] C言語でLinuxのdmesgやffmpegのログのような着色された分かり易いログ出力ができるライブラリってありますか? [YYYY-MM-DD hh:mm:ss.ss] INFO: creating some file... のような形式がいいんですけど、Cだと自作するしかないですかね?
881 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 12:27:40.24 ID:SzZ0Y41Da.net] >>856 標準ライブラリにはない git漁ればあるはず でもそのぐらいなら自分でチョロっと書けば終わる
882 名前:デフォルトの名無しさん mailto:sage [2018/10/
] [ここ壊れてます]
883 名前:23(火) 12:33:21.57 ID:9ghnGYJ4a.net mailto: 色だけだったら制御コード挟むだけでかなり直接的な操作だから、ライブラリ要らんと思うよ [] [ここ壊れてます]
884 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 21:42:50.09 ID:/OGOSsnj0.net] >>853 ヴァカと書いてあるのを血眼で探したのか ご苦労だったな で、誰か「自分にお前だけ(ry」とかテレパシーで話しかけてきたのか なるほど精神科の医者じゃなく患者だな 精神分裂病の陽性症状で幻聴がひどいようだな
885 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 21:55:22.05 ID:AzbdbLNL0.net] 血眼? 検索機能も知らんのか w
886 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 22:50:27.85 ID:PGQOpxAMa.net] >>856 サンプル書いてやったぞ #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);
887 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 00:50:22.48 ID:pNd6Tk0Ba.net] do/whileでくくる意味あんの?
888 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 00:54:26.48 ID:PjZwCPb8M.net] 末尾のセミコロンがなければ意味あるけど、 セミコロンのせいで無意味になってるね。
889 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 01:18:13.51 ID:fzPXyYYOM.net] カラーコードをハードコーディングかぁ やりますねぇ・・・
890 名前:854 mailto:sage [2018/10/24(水) 01:42:48.00 ID:+vpF9pgu0.net] >>861 ありがとうございます! 一点,おこがましい指摘なのですがfprintfの出力先はstderrのほうがいいのではないかと思います。 ログ出力はコマンドの出力とは別個にするべきなので。
891 名前:854 mailto:sage [2018/10/24(水) 01:48:03.42 ID:+vpF9pgu0.net] >>864 例えば改行を\x0aで固定するのは良くない方法であり、\nにすべきですが(これだとWindows向けにビルドしてやれば\0x0d\0x0aが出力されるようになる) 着色に関するエスエープシーケンスを固定するのは別に大丈夫だと思います。 ECMA-48/8.3.117などで標準化されてますし。
892 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 02:18:53.70 ID:fzPXyYYOM.net] >>866 ん、いや、マクロくらい使おうよって話
893 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 03:09:04.52 ID:+vpF9pgu0.net] >>867 ああ 「\e[33m」という記法それ自体ではなく 「33」という文字列を,例えばYELLOWマクロにする,というような意味だったんですね。 まあ確かにそうかも知れないです。
894 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 04:01:46.93 ID:fzPXyYYOM.net] >>868 いやいや・・・ それ丸ごとマクロにした方が楽でしょ・・・ https://stackoverflow.com/questions/3219393/stdlib-and-colored-output-in-c
895 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 05:49:24.17 ID:X/sBrfkw0.net] >>869 説明のための例だからそういう定義が分かりやすいとして、 >>868 こういうのを定義するときは、手段じゃなくて目的で定義する方がいいんじゃないかな。 ソース位置の強調をするために 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", とか。
896 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 07:45:53.57 ID:hBENxp+1a.net] >>863 ;はミスだわ >>865 サンプルなのでお好きに >>870 好みかもしれんが、一行の中で色変えるとか見づらくないか? そのフォーマットではファイル出力したくなくなるし 俺が色使うなら #define D(type, fmt, ...) でタイプ指定して fprintf(stdout, COLOR(type) ... COLOR_END "\n", とかで色変えるぐらいかな
897 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 09:48:15.70 ID:X/sBrfkw0.net] >>871 例だから派手にしたけど、言いたいのは目的にちなんだ定義名にした方がいいってこと。 ログレベル毎に色を変えるなら、STYLE_ERROR、STYLE_WARN、STYLE_INFO とかさ。
898 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 09:56:16.01 ID:WhwEQaTDa.net] まあ抽象は正義だからな
899 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 19:57:27.64 ID:a4OXlgOjM.net] 正論と同じであまり振りかざされても実務では面倒なだけ >>870 とか正直ウザって思うわ
900 名前:デフォルトの名無しさん [2018/10/24(水) 20:20:46.99 ID:k2aW8IHEa.net] cursesライブラリは使えないなかな?
901 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 20:56:00.65 ID:+vpF9pgu0.net] ていうかログのフォーマットってCでは標準化されていないのね、SUS含め。 Javaのlog4jやPythonのloggerみたいなものがあれば 一番嬉しいんだけどね
902 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 21:31:34.66 ID:0y0LlX3od.net] C初心者です、よろしくお願いします ubuntuのvimでしこしこ書いてgccでコンパイルしています CでIDEを使ってみたいのですがオススメありましたら教えてください 仕事ではJavaでEclipseを使ってるのですがCで使ってみたらいまいちピンと来ませんでした やはり皆さんVisualStadioとかVSCodeあたりでしょうか?
903 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 23:14:58.20 ID:GbRp+dd6M.net] そうですね ぜひ使ってみて下さい
904 名前:デフォルトの名無しさん [2018/10/25(木) 09:43:50.32 ID:hw/Q19JUa.net] >>876 ないけどUNIXで昔からsyslog使われてた。というかそれがあったせいで他のログ出力ライブラリが広まらなかったのかも知れない。
905 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 10:55:57.05 ID:OLog262Fa.net] ログ出力も奥が深いよな。 大量かつ高速が条件だとなかなか悩む
906 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 12:17:11.73 ID:3CeE+Pyi0.net] 最近はログをDBに格納している
907 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 15:07:02.91 ID:UNvjysmaH.net] DBのログは?
908 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 15:27:49.50 ID:R/0gSUq30.net] syslogは日付がISOに従ってないのがちょっと嫌だな。 [YYYY-MM-DDThh-mm-ss,ssZ] LOGLEVEL: some messages. こんな感じがいい
909 名前:デフォルトの名無しさん [2018/10/25(木) 15:40:47.48 ID:hw/Q19JUa.net] rsyslogdだと設定できなかったっけ?
910 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 17:56:49.79 ID:zmVgc+jlM.net] >>880 大量⇒高速に処理が必要だから、その条件は大体セットだろ それにプログラムが異常終了してもログが欠落しないとかの条件がつくと難易度が更に上がる
911 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 18:37:09.60 ID:R/0gSUq30.net] うーん。素人考えなんだけどfprintf()関数を呼び出したり,その中で__FILE__マクロ変数を展開したりするのって そんなにコスト掛かる動作じゃないよね。 いくら大量の処理とは言え,ログを出力しただけで影響がでるような厳しい環境ってそうなくない
912 名前:? そしてそもそもそんな環境でログ処理ではないメインの処理って動くの? [] [ここ壊れてます]
913 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 18:46:33.19 ID:s6Ph9fEn0.net] >>886 マルチプロセスやマルチスレッドだったりすれば排他も必要だし、fprintf 使っただけだとプロセスの突然死なんかではバッファがフラッシュされず失われ、一番欲しい落ちる寸前の情報が欠けかねない。 小まめにフラッシュしたらそれはそれで性能の問題が出る。 奥が深いと思うよ。
914 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 23:51:29.92 ID:GsCjxORea.net] >>872 ああ、過剰な例だったか >>873 あの例は抽象化ではないけどな まあ例だから深くは言うまい
915 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 00:21:48.90 ID:7237jhqNa.net] >>886 どの程度の性能を求めてるか次第だと思うよ 時刻取得でも clock_gettime と gettimeofday でうるさく言う人もいるしね トレースログみたいに高速かつ大容量を考えるなら ログがN件入るバッファを複数持っておいて 情報は基本バイナリで登録、ローテート時にファイル書き出し、 別途パーサーを作る、とかかな まあそこまでする必要のあるソフトなんて稀だろうけど
916 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 09:13:38.45 ID:hAbqlzFH0.net] ポインタをややこしくしてるのは int* a; の a がポインタ変数で a[10] という配列がある時、a と書くだけで配列の先頭アドレスの別の書き方として許されてるがいけないんじゃないのかな?って思ったんだけど合ってる? 配列の先頭アドレスは常に&a[0]って書くようにするようにすればポインタのごちゃごちゃって解消されない?
917 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 09:51:00.93 ID:2eu7c7Ria.net] Cだったら配列なんてものがあると思わん方がいいかもね 入門書的にはポインタより配列の紹介が先に書いてあったりするが、確かに問題はある。
918 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 10:26:55.40 ID:8auh1e/NM.net] >>890 あと、p[i] も禁止して、*(p+i) を強制しないとだめ。
919 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 10:54:29.59 ID:cduwye+60.net] >>890 そのへんはシンタックスシュガーというよりは たまたま結果的に同じものを指している 程度だし 原理原則を省かず丁寧に覚えていくしかないのでは
920 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 11:21:53.96 ID:E0U+wNaz0.net] 違う 違うナァ 機械語→BASICのころには 「変数って何だ?!!」として変数なる概念をなかなか理解できなかったやつがいた…… と言う話を聞いてる 今の初心者の一部もなじめないヤツが一定数いる 言ってしまえばC言語は「変数指向」のプログラミング言語だ オブジェクト指向や関数型に並び立つような、な 気付いてないが現代プログラミング言語は「変数指向」で出来てる そしてどんな思想であろうとどんだけ説明してもその概念の片鱗すら理解出来ないヤツはいる なので「変数」概念の理解に原理原則なんて存在しない 一発で理解出来るか素直に受け入れるかのどちらかしかない それ以上説明しても意味が無い、という人物は少数だがいる これはしょうがない
921 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 12:12:26.16 ID:k/2ANTBE0.net] なんかの本に int *a; と宣言してあったら、式の中で *a と書かれたものが整数であると的確に説明してあった。
922 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 13:39:36.53 ID:T+aWo9i70.net] >>895 それが分かりやすいかはちょっと微妙じゃね。 int i; ならその領
923 名前:謔ヘ確保されてるけど、int *a; と宣言した *a は型としては i と同じだけどそのままで i と同じように使えるわけじゃないし。 ポインタで迷うレベルに通じる話じゃなさそうだし、これが通じるならポインタで迷ってないんじゃね。 [] [ここ壊れてます]
924 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 14:13:47.90 ID:ScQN6FWl0.net] じゃんね?
925 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 14:14:23.54 ID:ScQN6FWl0.net] あ んじゃね か。 馬鹿だった。
926 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 15:09:00.24 ID:WWw+Yxena.net] >>894 マシン語でもレジスタが変数みたいなもんだろ
927 名前:デフォルトの名無しさん [2018/10/26(金) 17:09:00.87 ID:JLzES5S7d.net] これを実行するときに、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; }
928 名前:デフォルトの名無しさん [2018/10/26(金) 17:14:58.46 ID:8JGFizbaa.net] >>900 argc調べる前にstrcmp()するのは変だろう。
929 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 17:17:49.51 ID:BF6Z7BaaK.net] 組み込みでsicpて読む価値あんの?
930 名前:デフォルトの名無しさん [2018/10/26(金) 17:21:54.90 ID:JLzES5S7d.net] >>901 それを直したらsegmentation faultしなくなったんですけど、理由が知りたくて…
931 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 18:06:31.80 ID:XW9xoDKGa.net] >>903 たとえばargv[2]が空だったらstrcmpの引数は何になるんだという
932 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 18:16:18.06 ID:T+aWo9i70.net] >>904 argc が 3 なら argv[2] は何か入ってるだろ
933 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 18:20:05.25 ID:pYWWPyQzM.net] どうでもいいけどargvが3じゃなきゃいけないのにそのusageはどうよ
934 名前:デフォルトの名無しさん [2018/10/26(金) 18:25:03.95 ID:HaLyiKNA0.net] >>904 なるほどです 理解しました >>906 これではよくないんですか?
935 名前:デフォルトの名無しさん [2018/10/26(金) 18:25:43.74 ID:8JGFizbaa.net] >>903 引数がなかったり一つだったりした時に先に無条件にstrcmp()をしてしまうと両方または一方が不定値やNULLになるので落ちたり変な動きになったりする。
936 名前:デフォルトの名無しさん [2018/10/26(金) 18:28:06.65 ID:HaLyiKNA0.net] >>908 詳しい説明ありがとうございます
937 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 19:03:31.73 ID:T+aWo9i70.net] >>909 え、その問題はもう直してあって、>>900 は直す前のコードで argc が 3 だと落ちたけどなんで?って話なんだよね?
938 名前:デフォルトの名無しさん [2018/10/26(金) 19:42:46.18 ID:HaLyiKNA0.net] >>910 すみません間違いました 3以外が入ってるときです
939 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 20:16:13.66 ID:XW9xoDKGa.net] main(void)の場合もメモリ上のどこかにargvが入ってるだろうか?
940 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 20:46:48.73 ID:TAH5LWiNM.net] >>907 [hoge]はhogeが省略可能って表現 あとスペースちゃんと入れろよ
941 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 21:08:53.88 ID:ScQN6FWl0.net] みんな知ってるかもしれないが [--foo]で--fooオプションが省略可能だということはかなり広範な決まりで, POSIXに始まりGNUプロジェクトやPythonのインターフェース規格でも取り入れられてる。
942 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 22:48:54.99 ID:dAefMjKVa.net] >>912 そりゃいるだろうよ、と思って確認してみた 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
943 名前: hoge foo hoge foo [] [ここ壊れてます]
944 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 22:54:36.13 ID:dAefMjKVa.net] >>914 これだな https://ja.wikipedia.org/wiki/Man%E3%83%9A%E3%83%BC%E3%82%B8 https://qiita.com/aosho235/items/0f2b73d08eb645c05208 俺が生まれる20年以上前からあるとか感慨深い
945 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 23:22:14.01 ID:ScQN6FWl0.net] >>916 ちょっと違うぞ。 pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html こういうの。
946 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 23:22:24.86 ID:gi8K36IH0.net] man読む習慣があれば自然と身につくのに
947 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 23:50:26.20 ID:vTWFo6xp0.net] ナウなヤングはinfo使ってるから…
948 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 00:13:55.83 ID:BbyQQXdF0.net] infoの使い方分からないマン
949 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 00:36:12.58 ID:QSCXw9iYa.net] ]で次のページに行く
950 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 00:49:36.02 ID:If2PGrjfa.net] >>917 POSIXに始まりってのは歴史的な話じゃなくて規約的な話だったか でもここまで規約が決まってたのは知らんかったわ
951 名前:デフォルトの名無しさん [2018/10/27(土) 01:29:30.14 ID:x+9raBkh0.net] >>913 そういう意味があるんですね ありがとうございます
952 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 13:15:19.86 ID:8fc2vBvs0.net] >>894 違うぞ。 その世代(ベーマガ世代)で変数が理解出来なかったのは、数学的素養がなかったからだ。 数学で「変数」が導入されるのは「方程式」からで、それ以前の小学校の算数は全部「定数」で出来ているから、 その世代の『小学生』はそこに戸惑っただけ。 機械語/BASICとかは関係ない。 高一で物理を始めると、三角関数が出てきて戸惑うようなもの。 学校によっては高二から始めるらしいが、その場合は戸惑うことはないだろ。 或いはアフィン変換も同じ。 あれも数学で回転行列を習った後なら容易いが、 『小学生プログラマ』にやらせようと思ったら、まず座標を教えて、その後に…と色々必要だろ。 数学的素養がないと、プログラミングは理解出来ないんだよ。 小学校教育に取り入れた馬鹿共は、プログラミングが出来ないから、それが分からないだけ。 ○○が分からない、と言う奴は大概、数学の素養がないか、そもそも全てを『暗記』で済ませてきたタイプだ。 (世の中大概それでどうとでもなるのも事実ではあるが、)それではどうあがいてもプログラミングは上達しない。 頭を切り換えて、全てを『理解』する癖を付けることだね。そしてまず数学を勉強すべきだ。 そうしないとただのコピペ(写経)マンになってしまう。 (はっきり言って昔のベーマガ世代も実際やっていたのは写経でしかないし) 色々理解したら、なるほどCは文法的にも構造的にも美しく出来ているし、 色々無駄がないからこそ、いまだに現役で使われ続けていることが理解出来るようになる。 ただし、分かりやすいわけではないので、俺は初心者はCから始めるべきではないと思うがな。
953 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 15:37:40.83 ID:BkFfYRiz0.net] >>924 中学の授業では便宜上は今まで変数を習ったことの無い中学なりたてホヤホヤのガキに変数を教えるんだよな? なのになんでそれで新中学一年生は変数を理解出来るんだ? 素養が無いのにも関わらず変数を授業で教えると理解できるんだぞ? 不思議じゃないか?
954 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 15:55:34.30 ID:IeSn2Jid0.net] ベーマガのゲーム入力して 兄「ここの数字増やすと自機数が
955 名前:増えるんだよ」 自分「へぇ」 兄「ここの P=P-1を消すと死んでも自機数減らないんだよ」 自分「へぇ」 当時小学3年ごろ。 これで変数と言うのを理解したわ。 [] [ここ壊れてます]
956 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 15:59:43.62 ID:YzjvNBrca.net] どういう順番でも抽象的な理解はできると思うよ。本当に「理解」なのかわからんけど。 でも数学が先じゃないと時間の無駄という気はする。
957 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 16:01:45.78 ID:YzjvNBrca.net] 線形代数はプログラミングと同時にやってもいいと思うわ。紙の上の操作はちょっとつまらん
958 名前:デフォルトの名無しさん [2018/10/27(土) 17:08:17.28 ID:pWQGtgcn6.net] 線形代数とプログラミングってなんの関係があるん? 最近、プログラミング始めたからよくわからんのよな
959 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 17:14:52.39 ID:NY1AcmJf0.net] >P=P-1 プログラム上と代数学上の記法の違い、最初面食らわなかったか?
960 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 17:36:20.97 ID:DmauAY/3M.net] >>925 変数にしろ関数にしろ教え方がアホすぎて全然理解できてなかったわ 単に計算できるだけだった 後にプログラミングやるようになって何で学校の数学ではあんな馬鹿な教え方をされたんだろうかと思ったわ
961 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 17:38:52.04 ID:Ttfv0KRj0.net] やねうらおとか小学生の時にはもう大学の数学をやっていたというが・・・冗談なのか本当なのかわからんがとんでもねぇプログラマなのは確かだからな・・・
962 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 17:43:25.28 ID:8fc2vBvs0.net] >>925 だからお前は猿のままなんだな、納得した
963 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 17:53:34.74 ID:zu36BJom0.net] 代入に=を使ったFORTRANの罪は大きい
964 名前:デフォルトの名無しさん [2018/10/27(土) 17:59:56.52 ID:p3Z91K38a.net] P=P-1みたいなのが解らない人は関数型言語に行けば良いんじゃ無いかな。 代数学に比較的近い。
965 名前:デフォルトの名無しさん [2018/10/27(土) 18:06:00.09 ID:p3Z91K38a.net] >>932 プログラミングに必ずしも数学が得意で有る必要は無いとは言われてるけど、数学得意な人がプログラミング出来るようになる事が多い気はする。 どちらも例外はあるけれども。 少なくともプログラミング関係の専門書って大学数学前提が多い。 前提じゃ無いのはわざわざ高校数学で出来るとか書いてるし。
966 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 18:16:50.52 ID:C9jhaecu0.net] 推論型言語でP=P-1
967 名前:デフォルトの名無しさん [2018/10/27(土) 18:24:00.38 ID:HWNtkJs26.net] 1〜12月を入力し、入力した月の日数を表示する。 これを論理演算子で表示しろという。 else if( month == 3) { printf("3月は31日です\n")} というのを作ったが不可。 論理演算子を使っていないからという。 論理演算子をどう使えばいいんですか。
968 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 18:28:29.79 ID:zu36BJom0.net] >>938 month == 3 && printf("3月は31日です\n"); とか?w
969 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 18:31:23.89 ID:zu36BJom0.net] ; も || に置換可。
970 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 18:38:10.74 ID:8fc2vBvs0.net] >>938 > ガックシ 先生に聞けよマジで
971 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 19:17:35.26 ID:5acUAORp0.net] >>938 m を月としたら d = (15657907 >> (m - 1) * 2) & 3 | 28; とか?
972 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 19:24:28.76 ID:8fc2vBvs0.net] >>942 それはビット演算子、そして+、あと普通は0x*****で書く
973 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 19:29:22.72 ID:5acUAORp0.net] >>943 あぁ、そうか。 てことは単純に 30日になるもの 31になるものを || でまとめろって話か。
974 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 19:54:11.57 ID:8fc2vBvs0.net] >>944 まあ普通はな。 ただそれ以前に、if文11個連ねて書くよりは…のはずだから、 普通は正しく動けばまずはよしで、それより断然いい書き方があるよね、となる。 いずれにしても先生に聞け、でしかないが。
975 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 20:31:12.68 ID:FFMC2/bw0.net] 第三回バーチャルYouTuber人気投票リベンジ募集中(全287名、2018年10月27日〜) あなたの好きなVtuberは?(一人十票) https://script.google.com/macros/s/AKfycbzW_Er5wP6kI0ZNcmcZVA4UdlXPiernQqL4xG1dVv146T8LwGKZ/exec ・前回(2018/8/22)は不正投票が行われた為、投票を途中で中止させていただきました。大変申し訳ありませんでした。 ・Googleフォームは標準仕様では不正投票が可能な為、改造して対策を行いました。 ・2018/10/27時点でチャンネル登録数10,000人以上のVtuberを対象としています。 ・一つのチャンネルでVtuberが複数人いる場合は、それぞれ分けています。 ・一人十票です。(全287名の中からお好きなVtuber10名を選んでください。) ・このフォームに投票するにはグーグルアカウントでログインする必要はありません。 ・並び順は前回の得票数の高い順と新人は登録者数の多い順に並んでいます。 ・今回も1,000人の方が投票するまで継続します。 なお投票結果はスプレッドシートにリアルタイムで表示されるようにしました。 また【概要】と【詳細】でシートを分けております。 https://docs.google.com/spreadsheets/d/1qvhqRdbbOFGQ2veqrnQmaAXIA79xTAANKUKa3HEUUC0 ▽過去の投票結果はこちら 第二回バーチャルYouTuber人気投票結果(2018年6月5日〜8月6日、全投票数1,000票)(スプレッドシート) https://docs.google.com/spreadsheets/d/1HqVp41DzLXPSuarWKkqNFZRyL20-nkMF5O5kkeEmqnA 第一回バーチャルYouTuber人気投票結果(2018年5月7日〜5月30日、全投票数1,000票)(スプレッドシート) https://docs.google.com/spreadsheets/d/1uaKoB3pJQHgC9VEkvg74v9OaSNW3Zvccr91mPN1lt5k tyjty
976 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 22:39:08.44 ID:aNTv90Ss0.net] >>945 …お前の中ではif文で書いて当然の処理なのか
977 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 22:39:25.58 ID:BkFfYRiz0.net] >>933 中学生にちょっと教えるだけで変数を理解するのは 大抵の人間には「変数」を理解する資質が生まれながらに備わってるからさ 要するに生得論だよ
978 名前:デフォルトの名無しさん [2018/10/27(土) 23:26:48.51 ID:tUxhH/wza.net] >>938 2月は何日で出すんだ?
979 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 23:30:49.74 ID:NY1AcmJf0.net] 論理演算子なんて要求がなければ、配列作ってテーブル参照にしてしまう
980 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 23:55:00.74 ID:8fc2vBvs0.net] >>947 普通は948の通りだろ。 そこを論理演算子なのだから、論理演算子の練習だろ。 超初心者だってことだよ。
981 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 23:56:21.90 ID:8fc2vBvs0.net] >>948 それだとお前が今現在も猿と同程度なのと矛盾するだろ
982 名前:デフォルトの名無しさん [2018/10/28(日) 00:11:48.31 ID:D9Gt7gmT0.net] >>938 m を月の数として printf("%d月は%d日です。\n", m, m == 2 ? 28 : (30 + ((m & 1) ^ (m >= 8 ? 1 : 0)))); なんてのはどうかな。年がわからないので2月は28日固定だが。 バグの温床になりそうなので普通はこんな複雑なの書かないが。
983 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 00:20:30.07 ID:oSIXYZ/dM.net] 書かないのはバグの温床だからじゃなくて 他人に意図が伝わらないオナニーに過ぎないからだぞ
984 名前:デフォルトの名無しさん [2018/10/28(日) 00:23:07.12 ID:D9Gt7gmT0.net] >>954 あー。まあそういうことでもあるか。
985 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 00:55:30.03 ID:0+vzkOx80.net] >>953 お前ら初心者にも分かる言い方を思いついた。 ・コードからお題に戻せるコードを書け なんだよ。 初心者は「お題○○を実現するコードは?」ばかりやってるから、「お題→コード」の変換ばかり考えるけど、 実際に重要なのは逆で、「コード→お題」の変換なんだよ。 今回の例で言うと、お題は ・月を与えて日数を得る関数 だが、これが重要なのではなくて、 ・この関数は、月を与えたら日数が得られる とコードからお題に『逆変換』出来ることが重要なのであって。 [] [ここ壊れてます]
987 名前:デフォルトの名無しさん [2018/10/28(日) 04:41:04.83 ID:vBzuIBdia.net] それで行くとクイックソートとか最早ムリぽ。 コメント使わ無いのかな。。。 他にも命名規則とか、そう言うので推測し易くしてるもんでしょ。 理想だけじゃ何も書けなくなる。
988 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 05:50:13.54 ID:Lt7UAQQy0.net] 殺人的にくだらん
989 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 08:48:10.56 ID:0+vzkOx80.net] >>957 コメント自体が既に次善策なんだよ。 可能であれば、コード見たら分かることを目指すべき。 クイックソートが意味不明なコードだとも思わないけど、 あの手の「末端の」関数は適切な名前を付ければそれで問題なくなる。 つまり、sort()なら、「ソートする」と分かり、使う分に支障はないだろ。 数学関数の sin() とかも、実際の中身なんて気にしてないだろ。これと同じ。 問題は、 int d0 = (15657907 >> (m - 1) * 2) & 3 | 28; // 940 int d1 = m == 2 ? 28 : (30 + ((m & 1) ^ (m >= 8 ? 1 : 0))); // 951 では、ぱっと見意味不明だろ。 だから最低限、「関数として切り出して適切な名前を付ける」か、「コメントを付ける」かが必要になる。 これが上記みたいにベタでコメント無しで書かれてたら、殺すぞテメー、になるって話さ。
990 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 11:51:08.52 ID:W0+pPBsw0.net] >>959 こういうのどうすんの https://ideone.com/FGqs1S
991 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 12:06:15.31 ID:/iW8vuMIa.net] ポッカント
992 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 12:53:44.56 ID:0+vzkOx80.net] >>960 それはいつぞやのコードだろ。 末端の関数だから、適切な名前を付けた関数にすれば問題ない。 俺なら count_1_bits か get_nof_1_bits とかにする。 勿論そのコードがベタでコメント無しで書かれてたらアウトだ。 あと、戻り値は int にしておけ。
993 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 12:57:22.68 ID:lZrPQQ03M.net] >>962 どんなコメント付けるの?
994 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 13:29:34.14 ID:0+vzkOx80.net] >>963 // count nof 1 bits
995 名前:デフォルトの名無しさん [2018/10/28(日) 13:45:43.40 ID:Bm6vOY0Hd.net] >>956 かけるようになるのも大事だけど、それよりもまず読めるようになれってこと?
996 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 13:51:17.06 ID:0+vzkOx80.net] >>965 1年後に読んでも分かるコードを書け、ということ。
997 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 14:44:33.68 ID:lBJoUXxI0.net] 963にそのアドバイスはまだ早い
998 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 15:00:37.51 ID:6j1kxIYb0.net] // なぜこのコードが動いているのかわからない // 以下、あるはずのないコード群でお送りします。 /* 俺のせいじゃない */ //ここに来ることは絶対にない
999 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 15:05:52.81 ID:2a8cvg/h0.net] もうちょっと読み物風に書いて行けば最後まで呼んでくれるかも知れない (つづく)なんて書くと、続編への熱いメッセージをもらえるかも
1000 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 15:39:42.29 ID:D9Gt7gmT0.net] 冒険活劇飲料サスケ つづく
1001 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 17:45:31.27 ID:fHxT9uJhM.net] 中学生向けみたいなお題に噛み付き過ぎで草
1002 名前:デフォルトの名無しさん [2018/10/28(日) 18:05:27.14 ID:vBzuIBdia.net] 逆にちょっと高度になるとみんなダンマリ。 最近久しぶりに来たけど、昔のCスレはこんなんじゃなかった。。。
1003 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 18:11:47.40 ID:Z7LZHjRuM.net] じゃあまた10年後にいらっしゃるのをお待ちしてます
1004 名前:デフォルトの名無しさん [2018/10/28(日) 18:50:49.19 ID:vBzuIBdia.net] もっと悪くなってるわw 正直、ここの住民がどの程度まで作れるのか分からん。 以前のお題は無視されたから、それ以下だとは思うが。。。 私もたいして書けるわけでもないのに。 (むしろ以前の方が書き込み難かった)
1005 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 18:51:32.36 ID:0+vzkOx80.net] >>972 ここ数ヶ月、何故か超初心者が沸いてる。
1006 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 18:53:04.74 ID:2a8cvg/h0.net] 高度なお題をお願いします
1007 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 18:57:13.59 ID:2a8cvg/h0.net] C言語相談室(上級者専用) https://mevius.5ch.net/test/read.cgi/tech/1519998483/ C言語上級者スレ https://mevius.5ch.net/test/read.cgi/tech/1519750371/ こういうスレもあるし、そちらを覗いてみたら? 私は見てないので、内容は保証出来ませんが
1008 名前:デフォルトの名無しさん [2018/10/28(日) 19:12:09.42 ID:vBzuIBdia.net] >>977 そっちもチェックはしてる。(ほとんど更新されないが) こっちでも入門書程度のコードは割と出てたと思うんだが、最近全然出ない。
1009 名前:デフォルトの名無しさん [2018/10/28(日) 19:13:01.60 ID:HCT7bRsva.net] お題はお題スレで。 プログラミングのお題スレ Part12 https://mevius.5ch.net/test/read.cgi/tech/1538096947/
1010 名前:デフォルトの名無しさん [2018/10/28(日) 19:20:12.29 ID:vBzuIBdia.net] >>976 高度過ぎもしないが。。。 >>709
1011 名前:デフォルトの名無しさん [2018/10/28(日) 19:25:59.68 ID:vBzuIBdia.net] >>979 それもチェックしてたわ。 済まんかったね。 うーん。。。 なんて言うのかな。。。 こう言うの作ってて、ここが上手くいかないみたいな質問自体が来ないのかな。 最近だとpythonスレとかが来てる方か。 うん分かった。 もうロムるわ。
1012 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 19:44:14.25 ID:lBJoUXxI0.net] >>972 高度な話がしたければすればいいだろう みんなダンマリなんて嘘こいてないで てめーがコード1つ示さない低劣野郎なくせに スッパマンみたいな威張り方してんじゃねえよbogus
1013 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 19:45:11.99 ID:W0+pPBsw0.net] お題なんてなんでもいいじゃん。 >>938 これだっていい。 最短、最速、なんでもいいからコードでアピールしてみたら。
1014 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 20:31:14.33 ID:3WxjgzdCM.net] とっくに結論出てる事にすら気づいてない知能の奴が高度な話題とか何とか言ってるのかw
1015 名前:デフォルトの名無しさん [2018/10/28(日) 22:02:27.19 ID:D9Gt7gmT0.net] 次スレ C言語なら俺に聞け 149 https://mevius.5ch.net/test/read.cgi/tech/1540731704/
1016 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 23:07:01.51 ID:o1iiiQzo0.net] >>980 >>709 本人か? あれは質問スレでお題なんてそもそもスレ違いであること、お題としても興味をそそられないつまらない内容であること、1日レスが付かなかった程度でその後の痛々しい反応など、スルーされる要素てんこ盛りで当然の結果だろう。
1017 名前: mailto:sage [2018/10/28(日) 23:49:52.62 ID:0CAv0Ngu0.net] >>986 >1日レスが付かなかった程度でその後の痛々しい反応 こういうのは、何度となくやって、手ひどく罵倒されでもしないと、なかなか身につきませんね スルー力も大事だし、スルーされることに耐える能力も必要です…
1018 名前:デフォルトの名無しさん mailto:sage [2018/10/28(日) 23:53:10.11 ID:2a8cvg/h0.net] やはりそうだよね どこが問題なのか、よく分からないでいた
1019 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 00:28:01.98 ID:OYdZGMPI0.net] あとちょっとで終わるから、埋め草 設問が今一分からないんだよね 合計を求める←これは問題の範囲にはないよね 1から順に足していって140まで、 その答えを順に表示しろって事かな?まさかね 合計値を文字列に変換する←何進数か分からない 最後に4桁ってあるから多分10進数でいいんだろうけど 16進数なのかもしれない (4〜7行目は意味が不明なので読み飛ばした) 保存場所の間違いって何? 客からこんな依頼きたら、頭が変になりそうw
1020 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 01:57:31.15 ID:X3/iEvqW0.net] 除算とその余りで桁を分離できる大発見をしたので、それを解説するためのお題を出しただけでしょ。 情報処理勉強してる学生かな。 プログラム的に役に立つ発見ができて良かったじゃない。 おれも中学生くらいのときにじゃんけんの勝ち負け判定は剰余を使うとシンプルに書ける大発見をして心踊ったもんだ。
1021 名前:デフォルトの名無しさん [2018/10/29(月) 21:32:29.11 ID:JGxixszg0.net] https://www.google.co.jp/search?q=140*%28140%2B1%29%2F2 なにもせずとも表示できたわ
1022 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 13:10:04.84 ID:ahkLvi0o0.net] 素晴らしい 是非ソースを公開して
1023 名前:デフォルトの名無しさん [2018/10/30(火) 16:13:05.26 ID:m+t0SJNKa.net] >>986 本人よ〜。 だから直ぐ下でロムるって書いた。 じゃあの。
1024 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 16:54:32.38 ID:LlhJqt4w0.net] 高度過ぎもしない(低度過ぎる上に日本語がおかしい)
1025 名前:デフォルトの名無しさん [2018/10/30(火) 17:20:26.15 ID:m+t0SJNKa.net] >>994 自分でもそう思ってるのにコードが出てこなくて失望した。 スレ違いにしても誰かしら書くと思ったのに。 まあいいよ。 もうこのスレに期待しない。 バイバイ。
1026 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:11:10.85 ID:rsMLxnyN0.net] 994
1027 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:11:42.51 ID:rsMLxnyN0.net] 995
1028 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:11:56.42 ID:rsMLxnyN0.net] 996
1029 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:12:26.14 ID:rsMLxnyN0.net] 997
1030 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:12:34.61 ID:rsMLxnyN0.net] 998
1031 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:13:05.67 ID:rsMLxnyN0.net] 999
1032 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 18:13:16.01 ID:rsMLxnyN0.net] 1000
1033 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 41日 0時間 16分 26秒
1034 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています