08/01/20 01:38:56
ひでえw
894:デフォルトの名無しさん
08/01/20 20:51:06
昔記事を見て馬鹿にしてた教材が一番わかりやすかった
895:デフォルトの名無しさん
08/01/20 22:18:11
memsetを使う利点は使い方によっては構造体の初期化のソースを短く出来る事かな
巨大な行列を持つ構造体を初期化するとか普通に代入でまかなうとマジで馬鹿にならないくらいソースが膨らむから
ループで回して初期化するのも遅いしな
896:デフォルトの名無しさん
08/01/21 00:52:45
Cプログラマ必須テキストです!
URLリンク(mori.eco.to)
897:デフォルトの名無しさん
08/01/21 01:23:47
>>896
どうでもいいのだが・・・
>当然ですが、あらゆる標準関数の使用を認めません。
>
>・strlen() を自作せよ。
>・strcat() を自作せよ。
標準関数の使用を認めないくらいなら、strlenとかstrcatとかキケンな
関数じゃなくて、ふつうはもっと安全な代替関数を自作するでしょ。
898:デフォルトの名無しさん
08/01/21 02:16:15
>>896
>C++未経験ながら、1人でC++の10万行のソースコードの保守及び、3万行の開発を行った。
これ単にCとして使ったとかじゃ
899:デフォルトの名無しさん
08/01/21 02:38:15
いまどき行数で規模示すなんて
クラス数と各クラスのメソッド数で競ってくれ
っつーかすれ違いか
900:デフォルトの名無しさん
08/01/21 02:57:11
競うなよ。どっちも少なければ少ないほど良い。
901:デフォルトの名無しさん
08/01/21 05:07:32
さすがにクラスは適切な数ってのがあるだろうな。
902:デフォルトの名無しさん
08/01/21 11:28:41
>>896は宣伝でマルチしてるから無視すべし
903:デフォルトの名無しさん
08/01/21 17:02:57
PIC等の単純なCPUで機械語でもやってアドレッシングモードを習えば
ポインタは理解出来るんじゃね? 余計に混乱するかな?
904:デフォルトの名無しさん
08/01/21 18:50:37
PICとかアドレッシングモードとかわけわかめなんだけどどうすれば習えるの?
905:デフォルトの名無しさん
08/01/21 19:33:40
PICは余計なところが気になりすぎ、16ビット以上推奨だな。
AVRとかHC08とかARMがいいんじゃね?
あと、アセンブラのアドレスはせいぜい指してる先のバイト数
の情報くらいしか持ってないから、ポインタまでには、まだまだ
壁があるのでよろしく。
906:デフォルトの名無しさん
08/01/21 20:47:32
>>895
おれは構造体を定義したら、必ずその初期化関数を作るけどな。
だからソースはさほど膨らまない。
まあその関数の中でmemsetをやっている場合もあるんだが、
それでも素のmemsetは使わないな。
907:デフォルトの名無しさん
08/01/21 21:43:28
動的にその行列のサイズが変わる、その平均が100X100から1000X1000近くになって
最悪5千近くなる行列は動的に変わるんで代入じゃ無理だし、ループでまわして初期化するよりはmemset使った方が速度は確保できるし
何が糞なんだかなぁと思うわw
まあ、動的に確保して中身をゼロクリアしたいのならcalloc使えって話だけどなw
しかし、途中で初期化したくなったらmemsetかな?
908:デフォルトの名無しさん
08/01/21 22:09:00
>>905
> あと、アセンブラのアドレスはせいぜい指してる先のバイト数
> の情報くらいしか持ってないから
TRON chip を否定したな!WwwWW
909:デフォルトの名無しさん
08/01/21 22:47:17
>>908
> TRON chip を否定したな!WwwWW
は? TRON Chipのポインタも、持ってる情報はアドレスだけですが?
ポインタに情報を持たせるのはLisp処理系とかで、ワードアラインの都合で
使わない下2bitに型の情報を入れ込んだりとか、アドレスが24ビットだった
68000用のやっぱりLisp処理系で上8bitに型の情報を入れたり、とか。
ポインタが本格的に(?)型の情報を持ってるアーキテクチャったらIBMの
System/38→AS/400とかだろ。
910:デフォルトの名無しさん
08/01/21 23:12:54
>>909
ショボいCPU使ってプログラムを作ると自分でポインタを作って管理しなきゃいけなくなるよ。
それでポインタがマスター出来るだろうと思う。
911:デフォルトの名無しさん
08/01/22 01:11:14
>>907
そういう0クリアする必要があるときのmemsetには、誰も異論を唱えていない。
912:デフォルトの名無しさん
08/01/22 01:16:18
>>907
それやるとどこか1バイトだけ
初期化されず危険というコンパイラもある
913:デフォルトの名無しさん
08/01/22 01:24:46
>>912
「そうする機能を持つ」ということと、「バグでその機能が働かない」というのを
ごっちゃにすると、ワケワカンナクなるからやめようぜ。