C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
前
http://mevius.5ch.net/test/read.cgi/tech/1509107288/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
C言語なら俺に聞け 144
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 838a-3nWA)
2017/12/23(土) 19:33:43.89ID:dghfoRy20161デフォルトの名無しさん (ワッチョイ bb8a-ICSi)
2018/01/10(水) 20:55:29.77ID:P2Ck3R5y0 >>150
filenoとfdopen覚えた方が楽だけどね
filenoとfdopen覚えた方が楽だけどね
162デフォルトの名無しさん (アウアウカー Sa4f-dSb4)
2018/01/10(水) 21:00:10.17ID:lfXyh+0pa それ用途が違うよね。
163デフォルトの名無しさん (ワッチョイ 9fb0-hg+r)
2018/01/10(水) 21:00:44.51ID:aFHgFo+Q0164デフォルトの名無しさん (ワッチョイ 4b9f-Ogju)
2018/01/10(水) 22:13:09.56ID:s9KBVpbq0 >>160
> とりあえずソートアルゴリズムのが理解したいと思い勉強をしていたのですが
アルゴリズムとデータ構造をソートで学ぶのは昔流で、今はそれをこの段階でやる必要はない。
今はとりあえず次の章に行ってしまって、for/while/if等を使いこなせるようになった方がいい。
> 「それでは、これをc言語で実装してみましょう」といって、スタックをc言語のプログラムで作り出すことの意義
仕様を説明する必要がないからだよ。
「じゃんけんゲームを作ってみましょう」なら仕様は大体分かり、説明が省ける。
「オレオレゲームを作ってみましょう」なら、「オレオレゲームとか何か」から詳しく正確に説明しないといけない。
その本は「スタックとは何か」を当然知っているという前提で書かれているんだよ。
Cプログラマがスタック構造を知らないというのもあり得ないからね。
ただ、スタック知らなくてもプログラムなんて組めるし、実際Web系の連中は知らんと思う。
とはいえこれが一方的に悪い訳でもなくて、逆に言えば、
スタック構造を知っていることがプログラミングの本質ではない、ということなんだよ。
だから君みたいな初心者は、分からないところは飛ばして分かるところから読み進めればいいんだよ。
というか、今、君のレベルの初心者がCから始める意味は無いし、
無駄に遠回りになるだけだが、それ分かってやってるか?
> とりあえずソートアルゴリズムのが理解したいと思い勉強をしていたのですが
アルゴリズムとデータ構造をソートで学ぶのは昔流で、今はそれをこの段階でやる必要はない。
今はとりあえず次の章に行ってしまって、for/while/if等を使いこなせるようになった方がいい。
> 「それでは、これをc言語で実装してみましょう」といって、スタックをc言語のプログラムで作り出すことの意義
仕様を説明する必要がないからだよ。
「じゃんけんゲームを作ってみましょう」なら仕様は大体分かり、説明が省ける。
「オレオレゲームを作ってみましょう」なら、「オレオレゲームとか何か」から詳しく正確に説明しないといけない。
その本は「スタックとは何か」を当然知っているという前提で書かれているんだよ。
Cプログラマがスタック構造を知らないというのもあり得ないからね。
ただ、スタック知らなくてもプログラムなんて組めるし、実際Web系の連中は知らんと思う。
とはいえこれが一方的に悪い訳でもなくて、逆に言えば、
スタック構造を知っていることがプログラミングの本質ではない、ということなんだよ。
だから君みたいな初心者は、分からないところは飛ばして分かるところから読み進めればいいんだよ。
というか、今、君のレベルの初心者がCから始める意味は無いし、
無駄に遠回りになるだけだが、それ分かってやってるか?
165デフォルトの名無しさん (ワッチョイ 2bb3-IKYq)
2018/01/10(水) 22:17:21.44ID:3INPjtq00 >>160
ハノイの塔のパズルを解くプログラムを書いてみて。
スタックを使う場合と使わない場合の2パターン描いてみて。
で、どちらが少ない行数で書けるか、どちらが実行速度が速いか、
どちらが理解しやすい美しいコードか、さまざまな観点で比較してみて。
ハノイの塔のパズルを解くプログラムを書いてみて。
スタックを使う場合と使わない場合の2パターン描いてみて。
で、どちらが少ない行数で書けるか、どちらが実行速度が速いか、
どちらが理解しやすい美しいコードか、さまざまな観点で比較してみて。
166デフォルトの名無しさん (ワッチョイ 4b9f-Ogju)
2018/01/10(水) 23:08:24.25ID:s9KBVpbq0 >>153
と思ったが、Pythonに言及しているところからすると、既にPythonを使いこなせるのか?
だとすると、「アルゴリズムとデータ構造」をガッツリやる意味はある。
スタックが何故使われるかと言えば、スタックで対応できる場合に最速だからだよ。
だからCは実行方式からしてスタックべったりだ。
逆に言えば、それくらいしかメリットないし、
通常の配列にメソッド生やしてスタックにするのも簡単だから、他言語では大体そうしてるでしょ。
以下見れば分かるが、
https://cpprefjp.github.io/reference.html
Pythonのリストに当たる物は
array, deque, forward_list, list, queue, stack, vector の7種類あり、
Cはこれらを使い分けて最速コードを得る為の言語なんだよ。
勿論それ以外の物が良ければ自作しろ、という文化だし。
逆に、Python等は、グダグダ考えずに全部リストでやれ、それの方が分かりやすいし、という文化だろ。
と思ったが、Pythonに言及しているところからすると、既にPythonを使いこなせるのか?
だとすると、「アルゴリズムとデータ構造」をガッツリやる意味はある。
スタックが何故使われるかと言えば、スタックで対応できる場合に最速だからだよ。
だからCは実行方式からしてスタックべったりだ。
逆に言えば、それくらいしかメリットないし、
通常の配列にメソッド生やしてスタックにするのも簡単だから、他言語では大体そうしてるでしょ。
以下見れば分かるが、
https://cpprefjp.github.io/reference.html
Pythonのリストに当たる物は
array, deque, forward_list, list, queue, stack, vector の7種類あり、
Cはこれらを使い分けて最速コードを得る為の言語なんだよ。
勿論それ以外の物が良ければ自作しろ、という文化だし。
逆に、Python等は、グダグダ考えずに全部リストでやれ、それの方が分かりやすいし、という文化だろ。
167デフォルトの名無しさん (ワッチョイ 9fb0-hg+r)
2018/01/10(水) 23:39:41.13ID:aFHgFo+Q0 >>165
ほうほう。ありがとうございます。
かなり難しそうですがやってみます。
>>166
スプリクト言語の方が簡単、pythonやrubyでプログラミングというものをはじめましたが、そもそも詳しい人だけが
簡単に思えるだけで、基礎的知識なしでは相当にきついんでないの?と感じてcを始めました。
というわけでpythonが使いこなせるということはありません。
cに関しては教科書一通り一周して、とにかく制御をマスターしたかったので制御文を使いまくるであろうソートアルゴリズムに手を付けたんです。
制御文もアルゴリズムも理解できたら一石二鳥かなと思って。
「定本cプログラマのためのアルゴリズム〜」に「リスト」の説明があり、
・要素の挿入 ・要素の削除 ・要素の読み書き ・探索
・複数のリストをまとめる ・リストの分割 ・リストの複製 ・要素の数を求める
とあり、「あら、pythonのリストと全く同じ構造だ」とおどろいたわけです。
cはとりあえずarray, deque, forward_list, list, queue, stack, vectorといったものを「なんとかして」pythonのリストやまた
それ以外のデータ構造を自分で作成するということですか。
ほうほう。ありがとうございます。
かなり難しそうですがやってみます。
>>166
スプリクト言語の方が簡単、pythonやrubyでプログラミングというものをはじめましたが、そもそも詳しい人だけが
簡単に思えるだけで、基礎的知識なしでは相当にきついんでないの?と感じてcを始めました。
というわけでpythonが使いこなせるということはありません。
cに関しては教科書一通り一周して、とにかく制御をマスターしたかったので制御文を使いまくるであろうソートアルゴリズムに手を付けたんです。
制御文もアルゴリズムも理解できたら一石二鳥かなと思って。
「定本cプログラマのためのアルゴリズム〜」に「リスト」の説明があり、
・要素の挿入 ・要素の削除 ・要素の読み書き ・探索
・複数のリストをまとめる ・リストの分割 ・リストの複製 ・要素の数を求める
とあり、「あら、pythonのリストと全く同じ構造だ」とおどろいたわけです。
cはとりあえずarray, deque, forward_list, list, queue, stack, vectorといったものを「なんとかして」pythonのリストやまた
それ以外のデータ構造を自分で作成するということですか。
168デフォルトの名無しさん (ワッチョイ 1bd0-fRwE)
2018/01/10(水) 23:52:55.49ID:Klfu8N/c0 どうでもいいけどプログラミングなんて10年後オワコンじゃない?
コード共有サイト行けば書きたかったコード見つかるしコピペすればおk
世界で既に誰かが書いてるもの二回三回書く必要性はない
この流れが自動化されれば終わるだろうな
コード共有サイト行けば書きたかったコード見つかるしコピペすればおk
世界で既に誰かが書いてるもの二回三回書く必要性はない
この流れが自動化されれば終わるだろうな
>>168
1から1000 までを全部掛けた答えを出す共有サイトのコードを見せてください
1から1000 までを全部掛けた答えを出す共有サイトのコードを見せてください
170デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/11(木) 00:13:19.12ID:pXQSKlgS0171デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/11(木) 00:21:59.15ID:zDr2JTOQ0 >>167
> cはとりあえずarray, deque, forward_list, list, queue, stack, vectorといったものを「なんとかして」pythonのリストやまた
> それ以外のデータ構造を自分で作成するということですか。
違う。
Pythonのリストというのは抽象データ型で、要するに「万能」に作ってある。
この方がソースコードは分かりやすいから。(知識が少なくても読める)
逆に、「万能」なら限界ぎりぎりの速度を追求できないから、
Cでは別々にして使い分けろ、必要なら自作しろ、ということ。
> スプリクト言語の方が簡単、
これは実際にそう。
pythonやrubyでプログラミングというものをはじめましたが、
これも正しい。
> そもそも詳しい人だけが簡単に思えるだけで、
> 基礎的知識なしでは相当にきついんでないの?と感じてcを始めました。
ここはちょっと違う。
要するに、「動けばいい」プログラムでCを使う意味なんて無いんだよ。
逆に、最速のコードが欲しいときにはC/C++以外に現実的な選択肢はない。
だからほとんどのOS/ブラウザ/処理系(PythonやRubyも)はCで出来ているし、
Cが基礎だっていうのも間違いではないんだが、
プログラミングにCの知識が必要かというと、そうでもないんだよ。
Python/Rubyで済むのなら、Python/Rubyで済ませるべきであってね。
そして初心者はまず、「動けばいい」からスタートすべきであって、
それ以外に色々知識が必要なCはズブの初心者向きではないんだよ。
ただまあ、話を聞く限り、君が「アルゴリズムとデータ構造」をやるのは悪くはない。
とはいえ、現実的にソートのアルゴリズム知ってても大して意味はないし、
直接目標に向かった方がいいと思うが。
例えば、ゲームを作りたいのなら、何でもいいからとりあえず動くゲームを作ってみろ、ということ。
どうせこの最中にいろいろな問題にぶち当たることになるから。
> cはとりあえずarray, deque, forward_list, list, queue, stack, vectorといったものを「なんとかして」pythonのリストやまた
> それ以外のデータ構造を自分で作成するということですか。
違う。
Pythonのリストというのは抽象データ型で、要するに「万能」に作ってある。
この方がソースコードは分かりやすいから。(知識が少なくても読める)
逆に、「万能」なら限界ぎりぎりの速度を追求できないから、
Cでは別々にして使い分けろ、必要なら自作しろ、ということ。
> スプリクト言語の方が簡単、
これは実際にそう。
pythonやrubyでプログラミングというものをはじめましたが、
これも正しい。
> そもそも詳しい人だけが簡単に思えるだけで、
> 基礎的知識なしでは相当にきついんでないの?と感じてcを始めました。
ここはちょっと違う。
要するに、「動けばいい」プログラムでCを使う意味なんて無いんだよ。
逆に、最速のコードが欲しいときにはC/C++以外に現実的な選択肢はない。
だからほとんどのOS/ブラウザ/処理系(PythonやRubyも)はCで出来ているし、
Cが基礎だっていうのも間違いではないんだが、
プログラミングにCの知識が必要かというと、そうでもないんだよ。
Python/Rubyで済むのなら、Python/Rubyで済ませるべきであってね。
そして初心者はまず、「動けばいい」からスタートすべきであって、
それ以外に色々知識が必要なCはズブの初心者向きではないんだよ。
ただまあ、話を聞く限り、君が「アルゴリズムとデータ構造」をやるのは悪くはない。
とはいえ、現実的にソートのアルゴリズム知ってても大して意味はないし、
直接目標に向かった方がいいと思うが。
例えば、ゲームを作りたいのなら、何でもいいからとりあえず動くゲームを作ってみろ、ということ。
どうせこの最中にいろいろな問題にぶち当たることになるから。
172デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/11(木) 00:30:31.27ID:zDr2JTOQ0 一応付け加えておくと、
Pythonのリストは、C++で言う array, deque, forward_list, list, queue, stack, vector のどの用途にも使える。
でもその分遅いし、メモリも食う。
Pythonを使うというのは、これを認めて、楽さを取る、ということ。
逆に、最高速度で動かしたい、メモリを無駄に食うのは嫌だ、となると、
リストの実際の使われ方を確認して、最も適切なものを選べ、
或いはさらにチューニングできるのなら自作しろ、となるのがC。
だから、組み合わせて作るのではなく、使い分ける。
Pythonのリストは、C++で言う array, deque, forward_list, list, queue, stack, vector のどの用途にも使える。
でもその分遅いし、メモリも食う。
Pythonを使うというのは、これを認めて、楽さを取る、ということ。
逆に、最高速度で動かしたい、メモリを無駄に食うのは嫌だ、となると、
リストの実際の使われ方を確認して、最も適切なものを選べ、
或いはさらにチューニングできるのなら自作しろ、となるのがC。
だから、組み合わせて作るのではなく、使い分ける。
173デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/11(木) 00:39:50.99ID:zDr2JTOQ0 例えて言った方がいいかな?
Pythonのリストは「車」という解像度しかないのに対し、
Cでは、「軽、軽トラ、普通車、バス、トラック」が指定できるようなもの。
「車」で済むのならPython使っとけ、だし、初心者はこれで問題ない。
細かくチューニングしたいからそれ以上の解像度が必要だ、というときにだけCが必要で、
逆に言えば、その気がないのならPython/Rubyで十分だと思うし、そうするべきだとも思う。
Cは実行速度は最速だが、開発速度は最速ではないので。
Pythonのリストは「車」という解像度しかないのに対し、
Cでは、「軽、軽トラ、普通車、バス、トラック」が指定できるようなもの。
「車」で済むのならPython使っとけ、だし、初心者はこれで問題ない。
細かくチューニングしたいからそれ以上の解像度が必要だ、というときにだけCが必要で、
逆に言えば、その気がないのならPython/Rubyで十分だと思うし、そうするべきだとも思う。
Cは実行速度は最速だが、開発速度は最速ではないので。
174デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/11(木) 00:45:19.80ID:pXQSKlgS0 なお、人工知能にはPython使う模様
cさん...w
cさん...w
175デフォルトの名無しさん
2018/01/11(木) 00:48:46.80 Pythonでも速度求めるんならスタック・キューはlistじゃなくてcollections.deque使うやろ
176デフォルトの名無しさん (ワッチョイ 6ad7-LeTx)
2018/01/11(木) 01:47:55.44ID:RB8iNeAj0 >>174
py なのはインタフェースだけでしょ。
py なのはインタフェースだけでしょ。
177デフォルトの名無しさん (ワッチョイ 6ad7-LeTx)
2018/01/11(木) 01:55:31.45ID:RB8iNeAj0 >>160
えっ?
データ構造を学んでるんでしょ?
その実装例がでてきたことに対して、実装する意義がわからないっておかしくない?
学習するためじゃないんかい…
車輪の再発明は無駄だけど、学習として車輪の作り方をトレースするのは有益。
とちょっと斜め上の視点をとってみた。
えっ?
データ構造を学んでるんでしょ?
その実装例がでてきたことに対して、実装する意義がわからないっておかしくない?
学習するためじゃないんかい…
車輪の再発明は無駄だけど、学習として車輪の作り方をトレースするのは有益。
とちょっと斜め上の視点をとってみた。
178デフォルトの名無しさん (アウアウカー Sa55-EKU2)
2018/01/11(木) 08:54:30.53ID:oCnGxyW+a 今からお前らが書いてるコードが全て車輪だってことなんだよなぁ...
179デフォルトの名無しさん (アウアウカー Sa55-EKU2)
2018/01/11(木) 08:56:46.29ID:oCnGxyW+a 2chにいる時点で端くれプログラマーなんだし世界で既に書かれたコードしか書いてないでしょ...()
180デフォルトの名無しさん (ワッチョイ 5922-UJUP)
2018/01/11(木) 10:05:47.46ID:S67tZ9jk0181デフォルトの名無しさん (アウアウカー Sa55-EKU2)
2018/01/11(木) 10:09:07.84ID:oCnGxyW+a182デフォルトの名無しさん (ワッチョイ 5922-UJUP)
2018/01/11(木) 10:27:39.81ID:S67tZ9jk0183デフォルトの名無しさん (ササクッテロレ Spbd-5nGQ)
2018/01/11(木) 10:47:21.71ID:z0FcUM5Fp 同じ仕様を満たすコードを何人もが独自に書くプロジェクトなんて、沢山あるだろw
誤ったオブジェクト指向の解釈が蔓延した弊害でなw
誤ったオブジェクト指向の解釈が蔓延した弊害でなw
184デフォルトの名無しさん (アウアウカー Sa55-EKU2)
2018/01/11(木) 11:04:46.69ID:oCnGxyW+a >>183
非効率だよな
非効率だよな
185デフォルトの名無しさん
2018/01/11(木) 12:08:37.79 自分でコード書かないと npm left-pad みたいな問題が起きる
ブラックボックス的に使う部分と内製化する部分はきっちり区別して
内製部分はすべてのコードを完璧に把握しておくべきだ
ブラックボックス的に使う部分と内製化する部分はきっちり区別して
内製部分はすべてのコードを完璧に把握しておくべきだ
186デフォルトの名無しさん (アウアウカー Sa55-EKU2)
2018/01/11(木) 14:34:55.01ID:xUZeJB/aa187デフォルトの名無しさん (ワッチョイ 5922-UJUP)
2018/01/11(木) 15:22:04.47ID:S67tZ9jk0 何も解決したことのない者が口ばっかりは達者だな
188デフォルトの名無しさん (ワッチョイ 9ee7-IhuN)
2018/01/11(木) 19:10:21.87ID:NvDnlhDw0 心が汚れているとコードも
189デフォルトの名無しさん (ワッチョイ 6a12-0PCX)
2018/01/11(木) 20:02:04.60ID:Nwq/3BKy0 知恵遅れでポインタすらも分からずギャーギャーわめいてるアホがコイツなんじゃねえの
ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10184535725
ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10184535725
190デフォルトの名無しさん (アウアウウー Sa21-QpsD)
2018/01/11(木) 20:26:31.55ID:hT1lQp+Ma 心の乱れはコードの乱れ
>>190
名言だ!
名言だ!
192デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/11(木) 21:59:21.52ID:zDr2JTOQ0193デフォルトの名無しさん (ワッチョイ c576-01qY)
2018/01/11(木) 23:02:15.41ID:/sH2FBYP0 いやしかし、ひどい質問だなw
プログラムどころかアルゴリズムの時点で特許がどうの騒ぐ時代なのに、プログラムを全世界で共有とか頭悪すぎる。
プログラムどころかアルゴリズムの時点で特許がどうの騒ぐ時代なのに、プログラムを全世界で共有とか頭悪すぎる。
194デフォルトの名無しさん (ワッチョイ 6d9f-QpsD)
2018/01/12(金) 03:12:29.92ID:a7+Gi3xg0 部分的にはライブラリの配布みたいな感じで出来てはいるけどな。
195デフォルトの名無しさん (ワッチョイ 11d0-rzLw)
2018/01/12(金) 03:27:24.54ID:2CbWWRaV0 正直車輪の再開発なんていってたら商売成り立たないよな
ほかの人に見せて第三者がそのコード使ったら普通に嫌だと思うんだけどコードの共有化とか利益と競争を考えてない綺麗事じゃないか?
コード使い回しなんて実際問題、会社内ぐらいでしかやらんだろ
ほかの人に見せて第三者がそのコード使ったら普通に嫌だと思うんだけどコードの共有化とか利益と競争を考えてない綺麗事じゃないか?
コード使い回しなんて実際問題、会社内ぐらいでしかやらんだろ
196デフォルトの名無しさん (ササクッテロレ Spbd-5nGQ)
2018/01/12(金) 10:04:31.77ID:+P8k5RiCp むしろ乖離問題で使わせてない。つか使わせたくないってのが本音。
資産だけど公開した途端にむしろ負の資産になる。
資産だけど公開した途端にむしろ負の資産になる。
197デフォルトの名無しさん
2018/01/12(金) 11:55:16.87 GNU汚染問題もあるし出所の怪しいコードをやたらとホイホイ取り込めないよな
198デフォルトの名無しさん (ブーイモ MMc9-I7Ul)
2018/01/12(金) 12:45:18.53ID:EuBhIV8VM ライセンス絡みは面倒だから出来るだけ自分で書くのが一番いい
199デフォルトの名無しさん (アウアウカー Sa55-f6zg)
2018/01/12(金) 17:10:11.05ID:L71nmxDMa 何も見ないで独自に作ってもある日サブマリン特許にやられたりする
200デフォルトの名無しさん (ワッチョイ 59f4-UJUP)
2018/01/12(金) 17:12:48.89ID:NPCVz5+f0 あれひでえよな
産みの苦しみを報うはずの制度が
産みの苦しみを突然否定しに来る
たった1人を報うために大勢が犠牲になる
産みの苦しみを報うはずの制度が
産みの苦しみを突然否定しに来る
たった1人を報うために大勢が犠牲になる
201デフォルトの名無しさん (ワッチョイ a58a-oih1)
2018/01/12(金) 17:19:40.33ID:oHmTflkZ0 ソフト特許権絡みの問題なんて余程優れたアルゴリズムを実現でもしない限り発生しないだろ
少なくとも車輪の再発明レベルでは問題が起きようがない
ライセンス関係の問題の殆どは著作権絡みであって特許権の問題ではない
少なくとも車輪の再発明レベルでは問題が起きようがない
ライセンス関係の問題の殆どは著作権絡みであって特許権の問題ではない
202デフォルトの名無しさん (ワッチョイ 59f4-UJUP)
2018/01/12(金) 18:00:17.09ID:NPCVz5+f0 卑怯なことは一切せずに作ったオリジナルなものを
突然パクり呼ばわりされるんだぜ?
開発者としてこれ以上の侮辱があるかよ
いつそうなるかの予測もほぼ不可能だし
それで金よこせってまるで強盗かヤクザの集金だろうが
突然パクり呼ばわりされるんだぜ?
開発者としてこれ以上の侮辱があるかよ
いつそうなるかの予測もほぼ不可能だし
それで金よこせってまるで強盗かヤクザの集金だろうが
203デフォルトの名無しさん (ワッチョイ 398a-Hx09)
2018/01/12(金) 18:05:57.70ID:JoZVVmVH0 レメルソンなんてSF級だもんな
204デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/12(金) 18:30:41.68ID:oHmTflkZ0205デフォルトの名無しさん
2018/01/12(金) 18:31:58.08 今北三行
206デフォルトの名無しさん (ワッチョイ 3d93-j9tc)
2018/01/12(金) 19:19:49.18ID:dSWv3bkd0 自分で発明したものを後から特許とられて…って話でなければ
先に出願しとけってのは無茶、というか超時空理論だわな。
「サブマリン特許で攻められるのが嫌なら
何か作る前に全ての特許を調べておけ」という主張には、
「皆がそんな調査をする必要がある社会では何も生み出せないだろう」
という意見を出したいね。
先に出願しとけってのは無茶、というか超時空理論だわな。
「サブマリン特許で攻められるのが嫌なら
何か作る前に全ての特許を調べておけ」という主張には、
「皆がそんな調査をする必要がある社会では何も生み出せないだろう」
という意見を出したいね。
207デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/12(金) 19:35:56.68ID:oHmTflkZ0 いやいや製品開発では商品企画段階で先行技術調査はやってて当たり前のことだぞ
後で他社から特許侵害の訴えを受けると面倒くさいことになる
というか大手メーカの組み込みソフト技術者は、技術レポート作成や特許出願の年間ノルマが課せられることも多い
例え特許として特許庁に認められなくても出願したという実績さえあれば先行技術として認められる
サブマリン特許といえども既に世の中に公知されている先行技術のあるものに対して実施料を請求することは出来ない
米国はサブマリン特許に見られるように特許を攻撃戦略をとすることが多いが、日本企業の場合は防衛が特許戦略の中心とする傾向が強い
後で他社から特許侵害の訴えを受けると面倒くさいことになる
というか大手メーカの組み込みソフト技術者は、技術レポート作成や特許出願の年間ノルマが課せられることも多い
例え特許として特許庁に認められなくても出願したという実績さえあれば先行技術として認められる
サブマリン特許といえども既に世の中に公知されている先行技術のあるものに対して実施料を請求することは出来ない
米国はサブマリン特許に見られるように特許を攻撃戦略をとすることが多いが、日本企業の場合は防衛が特許戦略の中心とする傾向が強い
208デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/12(金) 19:57:45.41ID:oHmTflkZ0 話が脱線気味だけど、特にソフトウェアに限って言えば余程のことがない限りコードの中身そのものが問題になることは少ない
ただし製品の制御方法についてはソフトが問題になることはある
例えば、炊飯器のご飯の炊き方や洗濯機の攪拌方法やエアコンの運転方法など、これらは特許(パテント)の出来損ないのペテントで
そのノウハウはがっちり固められてるし、下手すりゃ権利の侵害問題に発展することもある
ただし繰り返しになるけど、純粋なコードの権利については特許というよりは著作権の方が問題になることが多い
ただし製品の制御方法についてはソフトが問題になることはある
例えば、炊飯器のご飯の炊き方や洗濯機の攪拌方法やエアコンの運転方法など、これらは特許(パテント)の出来損ないのペテントで
そのノウハウはがっちり固められてるし、下手すりゃ権利の侵害問題に発展することもある
ただし繰り返しになるけど、純粋なコードの権利については特許というよりは著作権の方が問題になることが多い
209デフォルトの名無しさん (アウアウウー Sa21-QpsD)
2018/01/12(金) 20:15:26.10ID:cCKSl/zea そういえばMSもLinuxが特許侵害してるって言ってandroid使ってるスマホメーカーから金受け取ってんだよな。
技術的にはたいしたものではないらしいが。
技術的にはたいしたものではないらしいが。
210デフォルトの名無しさん (アウアウカー Sa55-EKU2)
2018/01/12(金) 20:20:38.77ID:AcL8GFCQa プログラミングあんま知らんけどコードって著作権あるの?
俺普通に本とかの模写しまくってるんだけど...
もちろん勉学目的で商用してるわけじゃないけど大丈夫だよな...?
俺普通に本とかの模写しまくってるんだけど...
もちろん勉学目的で商用してるわけじゃないけど大丈夫だよな...?
211デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/12(金) 20:23:47.74ID:oHmTflkZ0 特許に必要なのは、新規性と独創性と再現性
技術的に高度でも既に知られているものは特許にはならない
技術的にたいしたものでなくても今まで誰も考えつかなかったものは特許になる
ソフトウェアでも既に知られているアルゴリズムでは特許にならない
全く新しい理論に基づくアルゴリズムを実現すれば特許になる
技術的に高度でも既に知られているものは特許にはならない
技術的にたいしたものでなくても今まで誰も考えつかなかったものは特許になる
ソフトウェアでも既に知られているアルゴリズムでは特許にならない
全く新しい理論に基づくアルゴリズムを実現すれば特許になる
212デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/12(金) 20:31:43.23ID:oHmTflkZ0 >>210
個人利用の範囲で商用利用しなければ問題ない
個人利用の範囲で商用利用しなければ問題ない
213デフォルトの名無しさん (ワッチョイ 5db3-gDcf)
2018/01/12(金) 20:58:54.35ID:Vw0zRWAd0 画像処理関係はあちこち特許にぶちあたる
214デフォルトの名無しさん (ササクッテロレ Spbd-5nGQ)
2018/01/12(金) 21:31:48.41ID:+P8k5RiCp ぷにコンはどの辺が特許侵害なんだろうな。
215デフォルトの名無しさん (ワッチョイ 59f4-UJUP)
2018/01/12(金) 21:41:56.36ID:NPCVz5+f0216デフォルトの名無しさん (ワッチョイ 59f4-UJUP)
2018/01/12(金) 21:43:56.56ID:NPCVz5+f0 >>211
虎ノ門に言わせればそうだろうけどね
虎ノ門に言わせればそうだろうけどね
217デフォルトの名無しさん (ワッチョイ 398a-Hx09)
2018/01/12(金) 21:55:17.37ID:JoZVVmVH0 サブマリン特許は公開されてないから、「サブマリン」なんだが
それを誰が調べるの?
それを誰が調べるの?
218デフォルトの名無しさん (ワッチョイ eab3-J7fK)
2018/01/12(金) 22:33:21.66ID:ju4bDeed0219デフォルトの名無しさん (ワッチョイ 7db3-y08B)
2018/01/12(金) 22:34:31.24ID:jKePUTB40 https://i.imgur.com/K7Hao16.png
https://i.imgur.com/vFuBfX2.png
この13-3について教えてほしいんだけど、「選手リストの要素を順番に参照し」ってのが分からない
qsortでできるだろと思ってたができんかった
https://paiza.io/projects/BNMiYyK2ND3OJob63nzEFw
https://i.imgur.com/vFuBfX2.png
この13-3について教えてほしいんだけど、「選手リストの要素を順番に参照し」ってのが分からない
qsortでできるだろと思ってたができんかった
https://paiza.io/projects/BNMiYyK2ND3OJob63nzEFw
220デフォルトの名無しさん (ワッチョイ 399e-IhuN)
2018/01/12(金) 22:47:57.86ID:96cxGEMW0221デフォルトの名無しさん (ワッチョイ 7db3-cgY/)
2018/01/12(金) 22:51:28.64ID:jKePUTB40222デフォルトの名無しさん (ワッチョイ 6a12-0PCX)
2018/01/12(金) 23:05:54.72ID:t7pO81Ne0 既にある連結リストにはqsortは使えない(これは常人でも考えれば分かる)
後からどうしてもソートしたいならマージソートを使う(これは常人がすぐに思い付くモンじゃないので知らないと出来ない、つまりは考えても無駄)
後からどうしてもソートしたいならマージソートを使う(これは常人がすぐに思い付くモンじゃないので知らないと出来ない、つまりは考えても無駄)
223デフォルトの名無しさん (ブーイモ MMc9-sUJ4)
2018/01/12(金) 23:14:51.66ID:b7j7QzhUM224デフォルトの名無しさん (ワッチョイ 399e-IhuN)
2018/01/12(金) 23:22:35.07ID:96cxGEMW0 >>221
「だよねぇ」じゃなくて「13-3の3行目ですかねぇ」だろ。
「だよねぇ」じゃなくて「13-3の3行目ですかねぇ」だろ。
225デフォルトの名無しさん (ワッチョイ 6681-XCNn)
2018/01/12(金) 23:23:04.02ID:gQJ9Pgb+0 ここで言っているコピーって、書籍に掲載されているロジックをそのまま借用するって事だよね
226デフォルトの名無しさん
2018/01/12(金) 23:30:11.38 >>219
「以下のプログラムの (1) (2) の部分を作成し」の「(1) (2) の部分」が見つからない
「以下のプログラムの (1) (2) の部分を作成し」の「(1) (2) の部分」が見つからない
227デフォルトの名無しさん (ワッチョイ 399e-IhuN)
2018/01/12(金) 23:36:49.31ID:96cxGEMW0228デフォルトの名無しさん (ワッチョイ 3d93-j9tc)
2018/01/13(土) 06:45:10.13ID:XcAHqv6T0229デフォルトの名無しさん (ワッチョイ eab3-J7fK)
2018/01/13(土) 07:23:31.08ID:8qhapkmN0 >>228
それこそ著作権の問題が... w
それこそ著作権の問題が... w
231デフォルトの名無しさん (ワッチョイ 6d9f-7doJ)
2018/01/13(土) 13:00:13.08ID:ZTdbWh7g0 だいたいの人は既に頭の中で解けている
232デフォルトの名無しさん
2018/01/13(土) 13:27:35.73 >>219見てちょっと考えてみたけど、
初回だけ(topが未設定の場合だけ)場合分けで例外的な処理がいるの?
あと、大小で判定して挿入するとき、先頭もしくは末尾だけは例外的な処理がいるの?
かっこよくスマートに書けるやりかた教えて!
初回だけ(topが未設定の場合だけ)場合分けで例外的な処理がいるの?
あと、大小で判定して挿入するとき、先頭もしくは末尾だけは例外的な処理がいるの?
かっこよくスマートに書けるやりかた教えて!
233デフォルトの名無しさん (ワッチョイ 6a12-0PCX)
2018/01/13(土) 14:20:20.40ID:lblZiSVe0 連結リストで検索すればお手本は大量に出てくる
この改まった場で今更説明するほどのものでもない
この改まった場で今更説明するほどのものでもない
>>232
ちょっと書いてみてよ
ちょっと書いてみてよ
235デフォルトの名無しさん
2018/01/13(土) 15:48:08.00 >>234
なんも見ずに書いてみたけど(コンパイルもしてないけど)
片方向リストにしたらこんな感じかなあ
見た感じスマートじゃないからたぶん無駄なことしてるんだろうけど
// 打席数、安打数は省略
typedef struct PLAYER_tag PLAYER;
struct PLAYER_tag {
char name[20];
PLAYER *next;
};
int main() {
PLAYER *top; // 先頭の要素
PLAYER *p; // 追加する要素
PLAYER *q; // 現在の要素
PLAYER *z; // 一つ前の要素
(省略)
top = NULL;
while (EOFでない) {
// 1行読み込んで名前(name)、打席数、安打数を取得
(省略)
malloc(p, sizeof(struct PLAYER));
memset(p, 0, sizeof(struct PLAYER));
strcpy(p->name, name);
// topが未設定の場合だけは例外的な処理
if(top == NULL) {
// 先頭に挿入
top = p;
} else {
q = top;
z = NULL;
// リストの先頭から順に走査
while (q != NULL) {
// アルファベット順が大きい要素の直前に挿入
if (strcmp(p->name, q->name) < 0) {
if (z != NULL) z->next = p;
p->next = q;
break;
}
z = q;
q = q->next;
}
// 末尾に挿入するときだけは例外処理
if ((p->next == NULL) && (z != NULL)) z->next = p;
(省略)
なんも見ずに書いてみたけど(コンパイルもしてないけど)
片方向リストにしたらこんな感じかなあ
見た感じスマートじゃないからたぶん無駄なことしてるんだろうけど
// 打席数、安打数は省略
typedef struct PLAYER_tag PLAYER;
struct PLAYER_tag {
char name[20];
PLAYER *next;
};
int main() {
PLAYER *top; // 先頭の要素
PLAYER *p; // 追加する要素
PLAYER *q; // 現在の要素
PLAYER *z; // 一つ前の要素
(省略)
top = NULL;
while (EOFでない) {
// 1行読み込んで名前(name)、打席数、安打数を取得
(省略)
malloc(p, sizeof(struct PLAYER));
memset(p, 0, sizeof(struct PLAYER));
strcpy(p->name, name);
// topが未設定の場合だけは例外的な処理
if(top == NULL) {
// 先頭に挿入
top = p;
} else {
q = top;
z = NULL;
// リストの先頭から順に走査
while (q != NULL) {
// アルファベット順が大きい要素の直前に挿入
if (strcmp(p->name, q->name) < 0) {
if (z != NULL) z->next = p;
p->next = q;
break;
}
z = q;
q = q->next;
}
// 末尾に挿入するときだけは例外処理
if ((p->next == NULL) && (z != NULL)) z->next = p;
(省略)
236デフォルトの名無しさん
2018/01/13(土) 15:52:19.19 >>235
先頭に挿入した場合の例外的な処理も必要だった
if (z != NULL) z->next = p;
↓
if (z != NULL) {
z->next = p;
} else {
top = p;
}
先頭に挿入した場合の例外的な処理も必要だった
if (z != NULL) z->next = p;
↓
if (z != NULL) {
z->next = p;
} else {
top = p;
}
237デフォルトの名無しさん
2018/01/13(土) 16:02:34.49238デフォルトの名無しさん (ワッチョイ f17f-XFrZ)
2018/01/13(土) 16:08:35.10ID:y/551r5I0 とりあえず、実際にはリストとデータは分けた方がいいよね。
あと、リストのtopも実体にしたほうが、いい予感。
あと、リストのtopも実体にしたほうが、いい予感。
239デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/13(土) 16:27:20.61ID:dAIHjdGT0 割とマジでvolatileって何に使うんだ。。。?
240デフォルトの名無しさん (ワッチョイ 7db3-cgY/)
2018/01/13(土) 16:35:27.25ID:Bkmc+O4i0 >>219だけど、結局小一時間考えたらできたわ
241デフォルトの名無しさん (スッップ Sd0a-oEMS)
2018/01/13(土) 17:02:47.66ID:n17MDyEZd >>239
余計なことすんなっておまじない。
余計なことすんなっておまじない。
242デフォルトの名無しさん (ワッチョイ 6d9f-QpsD)
2018/01/13(土) 17:17:58.88ID:ZTdbWh7g0 >>239
volatile は揮発性のものってことで、読んだ次の瞬間に値が変わっている可能性がある変数に付けとくやつだ。
その変数は実際にはハードウェアによって変化するものに結びついているかも知れないし、他のプロセスや
スレッドによって書き換えられるものかも知れない。とにかくそのプログラムのメインの流れとは無関係に
変化する可能性があるということ。だから読む場合は必ずその変数の内容が読まれるようにコンパイルされる
必要がある。最適化してさっきから変更してないからレジスタに入ってる内容で代用しようみたいなコードに
なってはいけないわけだ。volatile を付けておくとそういう最適化をしなくなる。
volatile は揮発性のものってことで、読んだ次の瞬間に値が変わっている可能性がある変数に付けとくやつだ。
その変数は実際にはハードウェアによって変化するものに結びついているかも知れないし、他のプロセスや
スレッドによって書き換えられるものかも知れない。とにかくそのプログラムのメインの流れとは無関係に
変化する可能性があるということ。だから読む場合は必ずその変数の内容が読まれるようにコンパイルされる
必要がある。最適化してさっきから変更してないからレジスタに入ってる内容で代用しようみたいなコードに
なってはいけないわけだ。volatile を付けておくとそういう最適化をしなくなる。
243デフォルトの名無しさん
2018/01/13(土) 17:32:56.34244デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/13(土) 17:37:30.75ID:bxTj5irD0245デフォルトの名無しさん (ワッチョイ 5d75-JLCo)
2018/01/13(土) 17:46:52.02ID:GYwe1Ej/0 >>235
やっぱアセンブララッパー言語はゴミコードだな
やっぱアセンブララッパー言語はゴミコードだな
246デフォルトの名無しさん (ワッチョイ 6d9f-QpsD)
2018/01/13(土) 17:54:43.58ID:ZTdbWh7g0 setjmp(), longjmp() 使う時も volatile 使わねばならない時がある。
https://www.jpcert.or.jp/sc-rules/c-msc22-c.html
ま、longjmp() 使うこと自体が稀だろうとは思うが。
https://www.jpcert.or.jp/sc-rules/c-msc22-c.html
ま、longjmp() 使うこと自体が稀だろうとは思うが。
247デフォルトの名無しさん (スッップ Sd0a-oEMS)
2018/01/13(土) 18:03:55.93ID:n17MDyEZd 長いことやってるがsetjump,longjump見たことない。
248デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/13(土) 18:11:34.78ID:dAIHjdGT0 >>247
volatileは?
volatileは?
249デフォルトの名無しさん (ワッチョイ 6d9f-QpsD)
2018/01/13(土) 19:14:06.13ID:ZTdbWh7g0 そういや上でスレッドとは書いたが、スレッド間の同期に volatile は使わない方がいい。
なぜスレッド間の同期にvolatileを使ってはいけない?
https://ja.stackoverflow.com/questions/1538/%E3%81%AA%E3%81%9C%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E9%96%93%E3%81%AE%E5%90%8C%E6%9C%9F%E3%81%ABvolatile%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%AF%E3%81%84%E3%81%91%E3%81%AA%E3%81%84
なぜスレッド間の同期にvolatileを使ってはいけない?
https://ja.stackoverflow.com/questions/1538/%E3%81%AA%E3%81%9C%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E9%96%93%E3%81%AE%E5%90%8C%E6%9C%9F%E3%81%ABvolatile%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%AF%E3%81%84%E3%81%91%E3%81%AA%E3%81%84
250デフォルトの名無しさん (スッップ Sd0a-oEMS)
2018/01/13(土) 19:19:08.96ID:n17MDyEZd >>248
組み込みなら普通に使う。
組み込みなら普通に使う。
251デフォルトの名無しさん (ワッチョイ eab3-J7fK)
2018/01/13(土) 19:20:14.49ID:8qhapkmN0 >>244
マルチスレッドとか使ったことないのか?
マルチスレッドとか使ったことないのか?
252デフォルトの名無しさん (ワッチョイ 8a02-UJUP)
2018/01/13(土) 19:29:24.04ID:NEwrBGsG0 longjmpはC++の例外のクソさに耐えきれなくなったときに使う
>>249
普通は同期用の専用オブジェクト(mutex とか semaphoe とか)を使っておくね、それでいいよね…
普通は同期用の専用オブジェクト(mutex とか semaphoe とか)を使っておくね、それでいいよね…
254デフォルトの名無しさん (ワッチョイ 6d9f-7doJ)
2018/01/13(土) 20:16:39.27ID:ZTdbWh7g0 >>253
そうそう。それでいい。
そうそう。それでいい。
255デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/13(土) 20:30:50.57ID:bxTj5irD0 >>249
そのサンプルコード、ハンドシェークしてるんだが、そもそも普通これしないよな?
並列させたいだけなら、普通はシグナル(sleep/wake up)で同期させる。それの方が軽いはずだし。
スピンロックでハンドシェークって、完全非同期で独立動作してるときだが、
あまり用途は無いと思うんだが。
そのサンプルコード、ハンドシェークしてるんだが、そもそも普通これしないよな?
並列させたいだけなら、普通はシグナル(sleep/wake up)で同期させる。それの方が軽いはずだし。
スピンロックでハンドシェークって、完全非同期で独立動作してるときだが、
あまり用途は無いと思うんだが。
256デフォルトの名無しさん (ワッチョイ 8da8-5nGQ)
2018/01/13(土) 20:49:33.28ID:rmFGNtGi0 例えば、スイッチを入れると割り込みが入ってループから抜け出すプログラムとかでループ制御フラグをvolatileにする。
257デフォルトの名無しさん (ワントンキン MM7a-Hx09)
2018/01/13(土) 20:58:01.89ID:2PBiFoHjM HDLCのモード変更とかに使うな
258デフォルトの名無しさん (ワッチョイ fa96-YM1W)
2018/01/13(土) 21:51:39.64ID:2B+wxQGy0 ちんこを弄るな
259デフォルトの名無しさん (ワッチョイ 6a9b-p8jN)
2018/01/14(日) 00:51:15.96ID:+jsAfOue0 vbaを扱えるようになったんで次にC言語触ってみようと思うんですが、どう勉強してったらいいですか?これ作ればあらかた基礎コードや仕組みが学べるものってあります?
やることによるんだろうけど、例えばテトリス作れば基礎が固まるとか。ネット検索しても今一ピンとこなくて。
おすすめの参考書とかもあれば教えてください。
やることによるんだろうけど、例えばテトリス作れば基礎が固まるとか。ネット検索しても今一ピンとこなくて。
おすすめの参考書とかもあれば教えてください。
260デフォルトの名無しさん (ブーイモ MMc9-Hx09)
2018/01/14(日) 04:21:14.53ID:8rZxUVb3M つ unix 4.3bsdの設計と実装
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【TV】ファン5万人がガチで投票! プロ野球総選挙、栄えある1位は [牛丼★]
- 【速報】政府、与党がNISA未成年解禁を検討 ★2 [蚤の市★]
- 【*彡】巨人・坂本勇人 『流れ星に何を願うか』の質問に「結婚相手」と即答、結婚願望告白 女性ファンから歓声と悲鳴 [鉄チーズ烏★]
- へずまりゅう氏が言葉失う 街中で女性から「息子はあなたみたいな人間に育たぬよう教育しています」 [jinjin★]
- 「まだ朝7時に通勤してるんですか?」人気VTuberが語った“働き方への提言”に議論沸騰 [夜のけいちゃん★]
- 【おこめ】ベトナムから密輸のコメを「国産」と偽り販売容疑、ベトナム人ら2人追送検…300トン売って1億3000万円稼いだか 大阪 ★2 [ぐれ★]
- 高市早苗「いいから黙って全部アタシに投資しなさい!」国際金融会議で発言し周囲ドン引き [165981677]
- 俺の親に当たる人は子供が出来なかったんだ
- レタスやキャベツ食って野菜摂取した気になってる奴www
- 【悲報】台湾有事で米中衝突、最悪のシナリオは日本人死者「4,662人」 [237216734]
- プラトンの「哲人政治」は正しかったのでは? アホな大衆に政治家を選ばせるとロクなことにならない [653462351]
- 高市シンパ「時の総理を非難するのは非国民ダァ!」👈つまり石破辞めろと叩いてたこいつら非国民? [931948549]
