X



【IT】C/C++に死を [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001ノチラ ★
垢版 |
2017/07/17(月) 15:40:31.76ID:CAP_USER
プログラミング言語Cはおぞましい。いや、素晴らしくもある、もちろん。私たちの住む世界の大部分はCの上に作られている。そしてほとんどのコンピュータープログラミングの基礎をなしている、歴史的にも、実質的にも。Xavier Nielの革新的な “42” スクールのカリキュラムが、学生に標準Cライブラリー関数を一から書き直させることから始まるのはそれが理由だ。しかしCは、C自身が作り上げたこの世界にとってもはやふさわしくない。

「おぞましい」と言ったのは「悪い」ということではなく「畏敬の念を起こさせる怖さ」という意味だ。Cはモンスターになってしまった。あまりに多くの大砲を与えたためにユーザーは自分の足を撃ち抜いてしまう。豊富な体験が教えるところによると、セキュリティーホールにむしばまれることなく大量のCコードを書くことは非常に困難であり「事実上不可能」になりつつある。2年前、私は最初の「Cに死を[Death To C]」の記事にこう書いた:

原理上、ソフトウェアが成長し進化して成熟度を増すほど、セキュリティー脆弱性は複雑になっていく。しかし、C/C++で書かれたソフトウェアにそれは当てはまらない。バッファーオーバーフローや宙ぶらりんのポインターのために壊滅的セキュリティーホールが生まれる事態は、繰り返し繰り返し起こっていて、昔も今も変わることがない。

私たちはこれ以上巨大な口を開けたセキュリティーの盲点を放っておくことはできない。引退して別の言語に取って代わられる時期はとうに過ぎている。問題なのは、ほとんどの近代言語はCを置き換えようという意欲すら持っていないことだ。〈中略〉どの言語もCが最も得意とすることに長けていない ―― 例えばシステムの奥深くまで掘り下げてマッハスピードで動くこと。

あなたがデベロッパーなら、私の言いたいことはもちろんわかっているだろう。Rustの長所を並べることだ。実際これは有望なC/C++の後継だ。2年前に私は、新規の下層レベルコーディングをCではなくRustで書くことを勧めた。つまるところ、穴に関して何よりも大切なのは、掘るのをやめることだ。

Security tips when programming in C (2017 edition):
1) Stop typing
2) Delete what you've already typed
[Cでプログラミングする際のセキュリティー心得(2017年版):
1)タイプするのをやめる
2)すでにタイプしたものを削除する]

今私は、エンジニアが既存のCコードをリファクタリングするとき、特にパーサーなどの入力ハンドラーを書き直すとき ―― ゆっくりと、すこしずつ ―― Rustで置き換えるように真剣に勧めている。
http://jp.techcrunch.com/2017/07/17/20170716death-to-c/
0259名刺は切らしておりまして
垢版 |
2017/07/17(月) 23:58:35.52ID:xJ/000d7
>>251
Cの最高にいい点でもあり、最悪な点でもあるのが、ポインター。
言わんとしてることはわかる。
文字列扱うだけで、ポインター問題が表面に出るのがC
最新のCPUは、計算リソース余りまくりなのだから、配列ごとに、out of rangeかどうかいちいちチェックするメカを入れればいいと思うんだ。
out of order 実行や IPCよりも、重要なことにリソースを。

例えば、文字列でもいいけど、配列を生成する。
配列の下限と上限を取得する。ポインターがこの範囲にあるかを1命令でCPUがチェックする。
範囲外なら、exception出して、拾う。

仮にだけど、b = *a with range low_limit , high_limit、と書ければ、いいね。
でも、今は出来ないから、いちいちチェックするメカを自前で実装しないといけない。
すると、遅くなるから嫌われる。
嫌われるけど、安全な方がいい人もいる

両立は無理なのか? 多分できるはずだ
CPUの命令を拡張しよう。
0260名刺は切らしておりまして
垢版 |
2017/07/18(火) 00:00:41.70ID:TIkdOPnc
業務ではずーっとJavaを使ってるが、
C/C++はJavaよりはよっぽどマシだわ。
糞すぎんだろjava。
0261名刺は切らしておりまして
垢版 |
2017/07/18(火) 00:06:32.31ID:C097I41L
>>259
>両立は無理なのか? 多分できるはずだ

CPUでやるよりは言語内でチェックルーチンを
アクセスしている箇所に自動的に挿入だよね。
まぁ、できんことはない。多少遅くなるが。

最近、CもC++も仮想CPU相手にコードはいているから
もう出来るかもよ。LLVMと調べてみたら?
0262名刺は切らしておりまして
垢版 |
2017/07/18(火) 00:07:27.16ID:ifNfq9Hq
お前らがそんなことやってるうちにCが魔物になっちゃったんだよ
流行りの言語追っかけて何年になるよ?

もう既に人の手の及ぶ領域は通り過ぎたんだよ
0263名刺は切らしておりまして
垢版 |
2017/07/18(火) 00:09:06.75ID:i25kFLmW
>>259
コンパイラとしてGNUCではなくてLLVM/CLANGを使うと、CLANGの強力な
アドレスサニタライズ機能で、その辺の感じのことをチェックするようにする
強力な機能があるんだけど、アドレスサニタライズ機能ってイマイチ
知られていない気がするんだよなー。実際につかっていろいろ検出できることを
体感すると「すげー」ってなるんだけど。

初心者だったら「ふーん」で終りそうなところがなんとも。
0264名刺は切らしておりまして
垢版 |
2017/07/18(火) 00:15:42.64ID:Qq6LIjKO
>>250
フリースタンディング環境なら問題ないよ
ブートストラップはサイズ制限やプロセッサの特殊な初期化のために
アセンブリ言語で書くことが多いけど。
0265名刺は切らしておりまして
垢版 |
2017/07/18(火) 00:29:06.28ID:fpJU2uOc
>>119
古くい機能は徐々に無くしていってもいいかもね。
0266名刺は切らしておりまして
垢版 |
2017/07/18(火) 00:34:24.89ID:xT+sulVF
関数実行ごとにポインターの確保領域を破棄して、実行段階で再度確保すればいいだけじゃないのかと思ったり
0267名刺は切らしておりまして
垢版 |
2017/07/18(火) 00:41:18.64ID:Cl7dyy2R
どうでもいいけど、中途半端な言語覚えると、後で衰退した時無駄になるぞ。
今、PL/1で仕事できてる奴がどれだけいるか。
その点で言えば、Cは当面生き残れる。
0268名刺は切らしておりまして
垢版 |
2017/07/18(火) 00:44:58.63ID:TPIwAdbT
毎回領域チェックする仕組みにすれば安全性は高まるけど
大量にアクセスする局面で
高速に動作させたいときは
無駄に何度もチェックする状況は避けたい
結局、高速で動かしたい基盤部分はC/C++で自前でチェック
多少遅くなってもいいアプリケーション部分はGCその他で管理
住み分けるしかなさそうだよね
いいかえれば、GC 使いつつC/C++の代替も目指そうとか
欲張りすぎな印象
0270名刺は切らしておりまして
垢版 |
2017/07/18(火) 00:54:36.40ID:i25kFLmW
>>267
言語の生き残りとしてはそうなんだけど
実際にウィンドウズアプリやWEB・データベースとかのジャンルで考えると
Cは生産性が悪すぎてあまり使わないし。

プログラマーは常に言語を覚えていかなくてはいけないだろうね。
今ウィンドウズのアプリを組むならC#かVBだし、会社がAIやるって言ったら
Python覚えなきゃならんかもしれない。

1つの言語にこだわりすぎると、その言語と共に運命を共にしたり
ものすごく限られたマイナージャンルの仕事しかなくなったりするよ。
0271名刺は切らしておりまして
垢版 |
2017/07/18(火) 00:59:48.34ID:L5qCzFbj
>>249
漏れちんもラブブー好きやでぇ
0272名刺は切らしておりまして
垢版 |
2017/07/18(火) 01:01:00.83ID:CkJb83bd
コーディングソルジャーは様々な言語を覚えないとな
0273名刺は切らしておりまして
垢版 |
2017/07/18(火) 01:03:56.02ID:tcxzApOr
掘らない事でセキュアにはなるかもしれないけど、掘りたい人には糞の役にも立たない
0274名刺は切らしておりまして
垢版 |
2017/07/18(火) 01:07:39.31ID:vkMZvm71
結局c#で組込みソフト開発が鉄板かな
0275名刺は切らしておりまして
垢版 |
2017/07/18(火) 01:10:52.90ID:ixhAw09X
>>64
「安いから」と未だ4bitや8bit数MHzのマイコン使いたがる客がいてな。

全く、ハード屋は部品ケチれば評価されるんだから気楽なもんだよな。
0278名刺は切らしておりまして
垢版 |
2017/07/18(火) 01:19:44.69ID:oq9Q+Lu9
このスレではあまり知らない人も多いかと思いますが、
オブジェクトキャメルが静かに脚光の兆し・・・

私も勉強を始めました。

by かもめ党(鼎 梯仁)
0280名刺は切らしておりまして
垢版 |
2017/07/18(火) 02:31:05.33ID:weXSOts/
>>96
俺は、若い頃にハードウェアの設計から初めてOSからアプリケーションまで全部LISPで作ったマシンを実際に作り上げて
LISPで実質的になんでもできる事を証明した先生に教わったけどなあ
haskelとかでも何でもできるよ
0281名刺は切らしておりまして
垢版 |
2017/07/18(火) 02:43:36.69ID:weXSOts/
>>279
もとの記事読めよ
どこに問題あるのか、どう言う対処が可能なのか書いてあるから
俺は余りC++知らないのでCの話するけど、Cである程度のプログラム組んだことがあればstrcpy()とかscsnf()の問題とかみんな知っているだろ
だからまずインターフェースを同じにしたままライブラリを書き直して行けって言っているんだよ
0282名刺は切らしておりまして
垢版 |
2017/07/18(火) 02:51:30.32ID:c/SNZypT
>>247
インラインアセンブラ弄くってる時に何となく覚えた感じだな
表面的な知識としては、わかってるつもりだったけど
0283名刺は切らしておりまして
垢版 |
2017/07/18(火) 03:15:43.29ID:i25kFLmW
>>282
引数の受け渡しと自動変数の確保に使われるスタックフレーム
メモリ確保に使われるメモリヒープ領域
初期値ありのDATA領域
初期値なしのBSS領域
あたりを知っているとよいかも。まあCのプログラムに直接関係しないけど。

組み込みなら上記は必須でさらに
ROMに配置されるデータ、起動時にRAMにコピーされるデータ
を意識ししないと、少ないRAMを食いつぶすし、
パソコンではあまり使わない、volatileで最適化抑止をきちんと行わないと
ペリフェラルレジスタへの書き込みが最適化で消えるし、、、
などなど独特の注意点も多いよね。
0285名刺は切らしておりまして
垢版 |
2017/07/18(火) 04:11:26.77ID:WvYhEXKq
>>280
> >>96
> 俺は、若い頃にハードウェアの設計から初めてOSからアプリケーションまで全部LISPで作ったマシンを実際に作り上げて
> LISPで実質的になんでもできる

すげー

> 事を証明した先生に教わったけどなあ
> haskelとかでも何でもできるよ

がっかり
0288名刺は切らしておりまして
垢版 |
2017/07/18(火) 04:48:52.25ID:Qq6LIjKO
>>266
遅くて使い物にならない
0289名刺は切らしておりまして
垢版 |
2017/07/18(火) 04:55:18.09ID:Qq6LIjKO
>>267
そもそもRustはC/C++がごりごりに書けて、C/C++に不満があるプログラマ向けの言語。
C/C++を経ずにRustやっても大変なだけだと思う。
0290名刺は切らしておりまして
垢版 |
2017/07/18(火) 05:01:29.88ID:QRBd8kBQ
C/C++を叩いているやつ、知ってるか?

Ruby.exeも Perl.exeも Python.exeも C言語で作られていると言う事実を
Jaba.exeと php.exeは知らんが、C/C++で作られているはず

一方で C/C++は C/C++で作られている
0291名刺は切らしておりまして
垢版 |
2017/07/18(火) 05:33:14.95ID:WvYhEXKq
>>263
#include<stdio.h>
#include <sanitizer/asan_interface.h>
static char a[200],poison[10],b[200];
int main(void) {
printf("Hello C world\n");
ASAN_POISON_MEMORY_REGION(poison, 10);
int i;
for(i=0;i<200;i++) { a[i]='A'; }
for(i=0;i<200;i++) { b[i]='0'; }
for(i=190;i<220;i++) { printf("%c",a[i]); }
printf("\n");
return 0;
}

こういうのは、全員使うべき。
これ、どうやって実現してるの?
素直に考えると、遅そうなんだけども。
0292名刺は切らしておりまして
垢版 |
2017/07/18(火) 06:07:47.26ID:G8z3bkiv
>>275
そのあたりでいくらぐらいなんだろうね。
16bitでも100円で使えるから、それよりグンと安いってこと?
0293名刺は切らしておりまして
垢版 |
2017/07/18(火) 06:16:44.26ID:i25kFLmW
>>291
CLANGの動的解析のASANは、メモリ保護機能を使っていると思ったけど。
だから、使える環境に制限があるのですよ。

CLANGの静的解析機能も強力なのですよ。未初期化変数などはもちろんのこと
メモリリーク(mallocしたけど、それを開放するパスがない)や
戻り値が不定になるパスも検出できるし。
0296名刺は切らしておりまして
垢版 |
2017/07/18(火) 06:30:05.33ID:gZsjvF4N
AI時代に「何もしない」取り残される日本の危機
業務のデジタル化が進まぬ日本は34カ国中最下位に
http://jbpress.ismedia.jp/articles/-/50416
0297名刺は切らしておりまして
垢版 |
2017/07/18(火) 06:35:29.13ID:thZULrrt
気の効いたコンパイラか、ソース解析して穴が無いかチェックするツールが開発されてきてないの?
0298名刺は切らしておりまして
垢版 |
2017/07/18(火) 06:36:17.18ID:gZsjvF4N
C/C++が死ぬ前に日本が死にそうなんだが

潰れる会社に必ずいる「静かな殺し屋」の正体
忖度できる便利な人材は危ない
http://toyokeizai.net/articles/-/179756
0299名刺は切らしておりまして
垢版 |
2017/07/18(火) 06:49:10.10ID:MIcfAoR9
Cの一番の問題は、文字列
 ・基本型でない
 ・NULターミネート式で、バイナリを扱えない
 ・長さ情報、粒度情報を持たず、操作のオーバヘッドが大きい
 ・同時に、アドレスチェックが難しい
だめだよ、これじゃ
0300名刺は切らしておりまして
垢版 |
2017/07/18(火) 06:56:51.63ID:Or+0ibl/
>>247
&でアドレスを返して、呼び出し元でポインタアクセスしてみると、
スタックにあったローカル変数が消えていてmemory acccess violationになるという話でないんか?

引数も返り値も値渡しで問題が起きない気が…
0302名刺は切らしておりまして
垢版 |
2017/07/18(火) 07:04:21.95ID:i25kFLmW
>>300
すぐ間違いに気が付いて
>>251 とかで謝っているのに、、のに、、、のに、、、。
御免よ。指摘はごもっともさ。

>>291
ttps://solid.kmckk.com/SOLID/archives/703
これを参考にしてみてください。
0303名刺は切らしておりまして
垢版 |
2017/07/18(火) 07:07:15.79ID:WvYhEXKq
>>293
なるほど。

#include<stdio.h>
#include <sanitizer/asan_interface.h>
static char a[10],poison[10],b[10];
int main(void) {
printf("Hello C world\n");
ASAN_POISON_MEMORY_REGION(poison, 10);
int i;
for(i=0;i<10;i++) { a[i]='A'; }
for(i=0;i<10;i++) { b[i]='0'; }
printf("%llx\n",(unsigned long long int)a);
printf("%llx %ld\n",(unsigned long long int)poison,(unsigned long )poison - (unsigned long )a);
printf("%llx %ld\n",(unsigned long long int)b,(unsigned long)b-(unsigned long)poison);
for(i=10;i<19;i++) { printf("%c",a[i]); }
printf("\n");
return 0;
}

clang -g -fsanitize=address poison2.c -o poison2.o

Hello C world
138ce80
138ce40 -64
138cec0 128
=================================================================
==869==ERROR: AddressSanitizer: global-buffer-overflow on address 0x00000138ce8a at pc 0x0000004ea57f bp 0x7ffc0df83e50 sp 0x7ffc0df83e48
READ of size 1 at 0x00000138ce8a thread T0
0x00000138ce8a is located 54 bytes to the left of global variable 'b' defined in 'poison2.c:4:30' (0x138cec0) of size 10
0x00000138ce8a is located 0 bytes to the right of global variable 'a' defined in 'poison2.c:4:13' (0x138ce80) of size 10

メモリ管理ユニットの粒度がバイト単位も可能なのか、最近のは???
配列a と配列b の間に毒沼設定したのに、aの64バイト前に設定されてるように見える。
a と b は128バイト離れている。-fno-omit-frame-pointerが強制されるのか。
どこでひっかけてるのかよくわからないが、速度が落ちないんだったら、すごい話。
0306名刺は切らしておりまして
垢版 |
2017/07/18(火) 07:16:38.48ID:WvYhEXKq
>>299
DJBのソースを読むといい。
文字列が使えると言っても、charの配列だから、長さと内容を別に管理すればいい。
そして、ことあるごとに長さチェックをして、容量オーバーしてないかを見張る。
もしバグがあったら賞金出す、としていてバグが無かった。言いがかり的なのはあったけども。
http://cr.yp.to/qmail.html
標準ライブラリでおかしなものは作り直す。面倒だけども、そういう方法もある。
0308名刺は切らしておりまして
垢版 |
2017/07/18(火) 08:00:23.17ID:WvYhEXKq
>>297
> 気の効いたコンパイラか、ソース解析して穴が無いかチェックするツールが開発されてきてないの?

根本的な問題として、プログラマーの意図がソースコードにどう反映されているのかわからないんじゃないのかな。
ポインターまわりで。
それの自由度を無くすとガベージコレクションやVMやJITになるのだろう。
0309名刺は切らしておりまして
垢版 |
2017/07/18(火) 08:09:56.94ID:dES1LQH2
ポインタはまじでうざいよな。
ハードの性能上がったんだからメモリ管理なんてハード側でやろうぜw
0310名刺は切らしておりまして
垢版 |
2017/07/18(火) 08:23:49.56ID:Qq6LIjKO
>>299
気になるのなら、自前の文字列型を作ればいいだけ
0312名刺は切らしておりまして
垢版 |
2017/07/18(火) 08:25:48.57ID:Aal0blFb
■真相深入り!◆虎ノ門ニュース■

7/18(火) 百田尚樹・居島一平
https://www.youtube.com/watch?v=56YQaIKtPQY

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
毎週月〜金 朝8時から生放送! LIVE放送終了後も動画で見れます♪
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

※ニコ生、フレッシュでも放送中
0313名刺は切らしておりまして
垢版 |
2017/07/18(火) 08:34:02.13ID:Qq6LIjKO
>>305
fopen
ですら生char要求するけど。
0314名刺は切らしておりまして
垢版 |
2017/07/18(火) 08:45:22.51ID:xww4wmka
Cは息長いからな。
PASCALなども長いけどオープン系じゃ圧倒的な歴史。
0315名刺は切らしておりまして
垢版 |
2017/07/18(火) 09:00:50.27ID:peJ8TOPd
>>290
大抵のLISPはLISPで書いてあるな
pypyというpythonのサブセットで書いたpythonの処理系もある
開発中だがCで書いたpythonより速い場合もあるとか
JAVAも今の処理系は結構実行が速いのでいくつかの言語処理系をJAVAで書いたり
0317名刺は切らしておりまして
垢版 |
2017/07/18(火) 09:15:27.03ID:teLQDdqv
セキュリティーホールの温床になるからCは駄目という話なのにそこに触れず持ち上げてる奴はバカなの?
0318名刺は切らしておりまして
垢版 |
2017/07/18(火) 09:17:14.17ID:peJ8TOPd
>>275
今時の家電製品などで使うような専用ICもピン数を減らすなどの理由で電源を入れるだけでもシーケンス動作が必須だったりするんだよ
電源ONの時にいくつかのICにシリアルのコマンドをいくつか投げるとか、ボタンを押した時にスイッチのON/OFFではなくてエンコードしたシリアルの
コマンドを送るような用途なら小物の部品感覚で使えるPICのような「シーケンサ」が適している
0320名刺は切らしておりまして
垢版 |
2017/07/18(火) 09:22:46.43ID:teLQDdqv
結局問題提起すら読まず理解しない者がCを使うからセキュリティーホールができてしまうのだろうな
0321名刺は切らしておりまして
垢版 |
2017/07/18(火) 09:25:51.72ID:PM90FCLs
>>1
リンク先で言われているバッファオーバフローやポインタの問題は、
最近のC++ならほぼ解決しているけどな。正直生ポインタなんて最近使わないぞ。
0323名刺は切らしておりまして
垢版 |
2017/07/18(火) 09:30:21.17ID:nyhy3g9T
マイクロソフト「ふう、c#はセーフだな」
0325名刺は切らしておりまして
垢版 |
2017/07/18(火) 09:47:29.44ID:BfNN6U5+
>>37
知ったかだなぁ
文化的な背景なんて関係ねーよ

以下3点が理由だ
・(組み込み環境で主流の)linuxやtronのデバイスドライバがCでしか書けないから
・(言語的に単純な)Cが一番早く開発環境揃うから
・Javaとかも動かせなくはないけど(スマホとかのリッチな環境でも無けりゃ)クソ遅い&重いから
0326名刺は切らしておりまして
垢版 |
2017/07/18(火) 09:59:36.34ID:1l3B6DzE
リッチコードが使えない組み込み機器なんかじゃC以外考えられないわ
Cなら1MHzで動くコードもjavaが動く組み込みになると48Mhzとか当たり前のように要求されるからな
0328名刺は切らしておりまして
垢版 |
2017/07/18(火) 10:53:10.35ID:V/a4QAw5
Rustなんて必要ない。
0329名刺は切らしておりまして
垢版 |
2017/07/18(火) 11:31:18.54ID:oJUxWCT/
バッファオーバーランなんて言語じゃなくOSの問題だろが
0330名刺は切らしておりまして
垢版 |
2017/07/18(火) 11:38:41.22ID:bB15afn+
>>329
言語だけど。
OSでどう防ぐと?
0334名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:02:10.24ID:OUNhLEJJ
>>333
難解さ容易さが問題なのではない。
何ができて何ができないかだ。

初心者向け、あるいはその言語で解決しやすいように整えられた問題に対して、
出題者の意図に沿ったコードを書くのは、初心者向け言語には容易だ。

だけど、世の中にある仕様は、その人の都合を考えてくれるわけではない。
0338名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:09:31.11ID:VhFBI7v8
>>330
OSやライブラリの問題

APIがバッファ長を必ず要求するようにしとけば、バッファオーバーフローは起きない
0339名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:11:23.46ID:Or+0ibl/
>>338
Javaは配列の代入で必ず長さチェックがかかる仕様なんだよな

最初はバカにされていたけど、今となっては大正解
0340名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:19:36.06ID:iPPIpbTZ
>>339
それを入れなきゃならんOS仕様の問題だわな。
シンビアンなんて、電力管理をプログラミングに求めてた訳で
0341名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:23:06.24ID:bB15afn+
>>338
バッファを使うのはAPIだけじゃないんだけど。
0342名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:27:59.33ID:bB15afn+
>>338
そもそもそのOSやライブラリをを書くために使われる言語についての話題だと理解してる?
0343名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:28:20.36ID:Or+0ibl/
>>340
仮想化支援みたいな感じであんまオーバーヘッドがあるようならCPUとかハードでの支援機能があってもいいかもね
(バッファオーバーフロー対策のハード支援はあったと思うから、もしかしたら既にあるかもしれない)

もうC/C++とか超えた世界の話
0344名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:30:57.34ID:V/a4QAw5
c/c++は、永遠だね
0345名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:33:38.33ID:V/a4QAw5
javaは、androidとWebだけ。
C#は、windowsのアプリだけ。
c/c++は、すべての分野で使わエる。
0346名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:33:38.76ID:ArNAbsMX
>>292
NXPのLPC800とか、100円台で買える32bitマイコンもあるが、ボタン電池で
動かすとかだと、消費電力が大きくて使えない。
0347名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:35:39.10ID:V/a4QAw5
androidもスピードが要求される部分では、
jniでつないでc/c++で書かれている
0348名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:36:28.38ID:ArNAbsMX
>>339
いくら代入で長さチェックしても、範囲チェックしないで、要素数を超える
配列要素にアクセスするバカはいるので無駄。
0349名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:36:37.51ID:CHPzuSir
速度の為に余計なコートが混じってほしくないってだけのがC言語
セキュリティの問題もあるし、もう封印しちまえ。
0350名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:37:26.83ID:3eqUVxBa
>>342
お前、何も理解できてないな
0351名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:38:49.30ID:ArNAbsMX
死ぬべきなのは、C++言語ではなく、ついてこれないプログラマの方。
0352名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:41:05.44ID:Or+0ibl/
>>348
多分それもやってるよ。
JavaだとそこらへんExceptionになったと思うけど、それが長さチェックをやっているってこと
0353名刺は切らしておりまして
垢版 |
2017/07/18(火) 12:49:42.59ID:V/a4QAw5
javaはデストラクタがないから、ガベージコレクションが走るように、
明示的に的にnull設定しないといけない。
0355名刺は切らしておりまして
垢版 |
2017/07/18(火) 14:31:39.27ID:opMrWy5A
 安 倍 晋 三 の 実 兄 、 安 倍 寛 信

三菱商事の核ミサイル担当重役は安倍晋三の実兄、安倍寛信
三菱重工の重役でもあるらしい
これがフクイチで核弾頭ミサイルを製造していた疑惑がある
書けばツイッターで速攻削除されている
私のツイートで、安倍政権に都合の悪い情報は速攻削除されている
これは驚いた ここまでやるのか
https://twitter.com/東海アマ/status/841451580339625984


    3 9 歳 で 若 年 性 ア ル ツ ハ イ マ ー

2015年1月には、首相官邸で安倍首相と意見交換する機会を得て、
認知症になっても働くことができるということを伝えました。
でも、症状は着実に進んでいます。
https://twitter.com/onodekita/status/881710709624627200


   世 界 教 師 マ 人 ト レ ー ヤ か ら 警 告

(まもなく、日本発の株式大暴落、次いで米国債大暴落の後、各国メディアに登場、UFOも)

認知症の過程は放射能汚染によって加速します。
若年性アルツハイマー病の原因となっており、
人々は肺炎やインフルエンザ、慢性疲労、癌、
HIV/エイズなどに抵抗できなくなっています。
免疫システムの崩壊の結果がアレルギーです。
死者の数は、他のいかなる原因よりも多いです。
河川の汚染は犯罪と見られなければなりません。

問題は、日本政府が何も認めないことです。
多くの人々が放射能の影響で死んでいるのに、
彼ら(日本国民)は幻想の中に生きています。
日本の近海の食料は安全ではありません。
健康上のリスクは福島に近づくほど高まります。
福島の子供達は癌をもたらす被爆をしています。
福島の住人は廃炉後1、2年で戻れるでしょう。

マ人トレーヤは原発の閉鎖を助言されます。
マ人トレーヤによれば、飛行機など原子のパターンが妨害されると墜落します。
マ人トレーヤはいかなる人間よりも危険をよくご存じです。
マ人トレーヤの唇からますます厳しい警告と重みが発せられることを覚悟しなさい。
0357名刺は切らしておりまして
垢版 |
2017/07/18(火) 14:43:44.28ID:ZyVYE6nD
>>1
人間が会話に使う言語と違ってプログラム言語はコンピュータは最近の人工言語なのに、なんでこんなに種類があって複雑なの?
■ このスレッドは過去ログ倉庫に格納されています

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