2 :
デフォルトの名無しさん :2013/09/04(水) 20:19:35.26
fputsでhtmlに書き込みまた htmlを実行って出来ないのでしょうか
ShellExecute()
状況が全くわからんw
htmlを実行、ってどういうことなの?ブラウザを開けばいいの?
いや、まてよ、そう思わせる
>>2 の罠か・・・
「また」となっていることから、Webアプリとして実装されたCのコードがあって、それがhtmlを食べるんだね。つまり、htmlの書き込みとは、レスポンス用のhtmlのことだ!
つまり書き込みマターだったんだよ!
すいません分かり難かったですね 占いを作ってまして 結果をhtmlで出す事にしてまして htmlのコードに scanfで入力された名前を書き込みたいんですが fputs関数を使っても書き込めなくて… .txtファイルには書き込めるのですが htmlのコードには書き込めないのか という質問と htmlを実行してブラウザを開く方法を教えてもらいたいです
もしかしてhtmlファイルの中身を部分的に書き換えるとかそういう事を考えんの? それは無理して出来ないことはないけど大変だぞ サイズが変わるし どうしてもブラウザで開く必要あんの? C#みたいなFormじゃだめなん?
>>7 まずhtmlは諦めよう
htmlを動的に実行するにはWebサーバ(Apacheとか)と実行エンジン(CGIとか)が必要なんだ
RPGで言うと、これらのアイテムはあなたのレベルではまだ使えないようになっているから、まずはレベルを上げよう
どうしてもHTMLをやりたい、というならPHP(ジョブチェンジ)をやろう
PHPはレベル1からでもHTMLが使えるぞ
難しいとかじゃなくて言ってみれば 元旦早々気狂いに遭遇したうえに手首を掴まれて汚された感じ
>>9 部活で作ってまして
htmlを勉強した人と一緒に作る事になってまして…オフラインでもサーバーとか
必要なんですかね?
無理なら他の方法でやりますありがとうございます
HTMLヘッダに10秒ごとにリフレッシュするように書いておけば 勝手に再読み込みしてくれるだろ
他に書き換えが出来て フォントとか弄るにはどうしたら…
行数固定にして出力フォーマットを決めとけば指定行数に出力するだけだ
15 :
デフォルトの名無しさん :2013/09/04(水) 21:42:52.91
>>9 PHPとか産廃なうえに時代遅れな言語をすすめんな
PHPは百害あって一理なし
>>7 素直にRuby使っとけ
HTMLの一部の書き換えなんてできるだろ。 C言語1ヵ月やってからにしろ。
>>15 いやいや
HTMLを操作したいんでしょ
rubyだとレベルを少し上げないといけないでしょ
え?急ぎじゃない?
ん、ならいいか
18 :
冥帝魔陀羅 ◆rJUy4FBOn. :2013/09/04(水) 21:47:31.51
そんなことよりC言語CGIの話しようぜ 実行速度は速いがオーバーヘッドがでかいと噂のC言語CGI
>>19 毎日コンスタントに何時間もC言語の学習に充てて1ヵ月経ってもできないのか。
悪いけどそれはさすがに適正がないんじゃないか。
無理にプログラムをしなくても他の趣味もあるだろうし。
21 :
デフォルトの名無しさん :2013/09/04(水) 21:53:21.17
jsとかでいいんじゃねーの?
>>20 いや偶にしか
本来は絵を描いてるんですが
プログラム書ける人がいなかったんで
一応教本に書いてある事は理解したつもりではいるんですが
1日何時間もCの学習に充てられるやつなんているのか?w
24 :
デフォルトの名無しさん :2013/09/04(水) 21:59:05.85
教本理解しただけで自分の思い通りのものが作れるC言語は初心者におすすめです!!!!!
25 :
デフォルトの名無しさん :2013/09/04(水) 22:03:39.02
だからjsとかでいいんじゃねーの?
>>23 仕事終わって8時か9時に帰るとしたら3時間程度は学習に使える。
資格取ろうと思って勉強するときはだいたいそれくらい充てているだろう。
>>26 す、すげぇ・・・
9時に家に着くと、家事を少しやって風呂入ってメシの支度してメシくったら、23時。それから2chやってアニメみたら1時になって寝るだろ。
勉強なんて通勤中に少しやるぐらいだ。
今日は定時上がりだったから、まだこんな時間だけど
あんたどんな生活してんだよ、家事とかどうしてんのさ?
家事は、家内に任せて、風呂は二日に一度にして、メシはカップラーメン。 2ちゃんねるとアニメは通勤中にスマホで見る。
2日に1度!? うわ、くっせー!近寄んな!
Cくらい学生のうちに覚えとけ
社会人になったら出会いがなくなるしな
学生の時は標準ライブラリまで覚えきれなかったな。 書籍とかでよく出てくる関数くらいしか知らなかった。
なんかvipにいそうなキモいのが湧いてるな
34 :
デフォルトの名無しさん :2013/09/04(水) 22:53:38.94
>>27 電車でスマホつついてるやつ
全員がゲームかメールだと思ってるだろ
毎日2-3時間の読書時間で算数してみな
>>34 ん?通勤中は俺も勉強しているが?
あ、あぁ。んと、プログラミング言語だけのためにそこまで時間とれないよね、っていう。
通勤中は主にビジネス寄りの勉強してんのよ。統計解析とかマネジメントとか。
あ痛たたた・・
37 :
デフォルトの名無しさん :2013/09/04(水) 23:44:47.40
だからHTMLベースの占いなんかjsとかでいいんじゃねーの?って言ってるだろ
38 :
デフォルトの名無しさん :2013/09/04(水) 23:49:40.63
>>35 コンパイラなしでマニュアルだけひたすら読むという砂を噛むような時間が、
実は端末の前でどかーんと効いてくるんだよ
39 :
デフォルトの名無しさん :2013/09/05(木) 00:06:28.96
>>38 の言う通り
Cに限ったことじゃないけど、リファレンス眺めてるだけで知らなかった便利な関数見つけたりするんだよな
これ自分で関数作って処理してたけど最初から関数あるじゃん、とか
この関数今は使いどころないけど便利だから記憶の隅に置いておこう、とか
別の関数使ってたけどもっと便利な関数あるじゃん、とか
関数そのものを暗記できなくても、実際コード書いてるときに、そういえば何か便利なやつあったな・・・と思って調べられる
だいたいどの本のどの辺りで見たかは見当つくしね
関数名 脆弱性 でググるのもお勧め
>>38-39 プロだなぁ
社内ミドルウェア&ライブラリ&フレームワークしか使えない環境だと、標準的なAPIを覚えても使う機会が無いんだよね・・・
他所へ行った時に何もできない怖さがあるけど、少なくとも他の勉強や趣味を削ってまで優先させることじゃなくなるんだ
それより、ビジネス系のスキルを磨いたり、社内の人たちとうまくつるんでいる方が生産性が高くなるというか・・・悪い意味でガラパゴスだな
>>42 大手なら食いっぱぐれないから問題ないが
中小で内製フレームワークしか触れないなんて本当にやばい
まぁ大手だけど、技術だけじゃとても食っていけない環境で仕事がつまらない たいていのものはコンポーネント化されているから作る必要ないんだよね でも、そうか。中小企業にいけばいっぱい作れるのか。ふむふむ。
Qtみたいなやつか
Qzかと思った
その名を口にしてはいけない
どう見ても想像で語ってる底辺プログラマ。
質問です hello,world!を標準出力に書き込む書き込むコードなんですけど なにやってるのかさっぱり分かりません putsの仕様も含めて教えてくださると助かります #include <stdio.h> main(){puts(L"\x6c6c6548\x77202c6f\x646c726f\41");}
学校の課題とかじゃなければ 見なかったことにして忘れるのがいいと思うがw
学校の課題ってわけじゃないんですが。。。。。。 気になって夜も眠れないんです
まだいまいちよく分からんです… 解説していただけると助かります まずワイド文字を知りませんでした、キャストするときに何が起きてるのか理解できません……
54 :
デフォルトの名無しさん :2013/09/05(木) 07:20:27.18
タダで手取り足取り教えてって言ってる屑人間じゃないよね? 入門書だけでも最低3冊は読んで質問してるよね? 悪本の可能性があるからとりあえず読んだ入門書列挙して
>>54 読んだ本は「ロベールのC++入門」と「コードコンプリート」と「リーダブルコード」の三冊です
コードコンプリートは下巻はまだ読んでません
質問です 35 02 94 37 00 20 00 00 00 00 2e a6 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a c5 b3 b7 d4 bd c4 c3 bd c4 39 31 20 b7 bc d6 b3 0a 02 0a 33 38 20 30 33 20 32 30 20 31 33 30 39 30 33 31 31 30 30 30 30 20 43 31 31 20 39 39 39 39 0a 0a 8b d9 8b 7d 92 6e 90 6b 91 ac 95 f1 82 cc 83 65 83 58 83 67 93 64 95 b6 82 c5 82 b7 0a 82 51 82 4f 82 50 82 52 94 4e 82 4f 82 58 8c 8e 82 4f 82 52 93 fa 82 50 82 50 8e 9e 82 4f 82 4f 95 aa 82 4f 82 4f 95 62 0a 8b 43 8f db 92 a1 3d 0a 03 上のようなバイナリ?の形式でデータがソケット通信で送られてきます(実際は改行無し) printf("%c%c\n", 0x88, 0xbd);のようにするとASCIIの漢字を含んだ文字列になるらしいのですが上手くいきません 文字列に戻す方法があったら教えて下さいお願いします
>>49 これコンパイル通るんだな。
文字列がwchar_tだからputs()には渡せないんじゃないかって思ったけど実行できたわ。
>>56 送られたバイナリのデータの全てが 「ASCIIの漢字を含んだ文字列になっていない」 ので
文字列に戻らないんじゃないの?
データの後ろのほうがそれっぽい並びな雰囲気だけど、
通信仕様(プロトコル)がどうなっているのか確認すべし
確認してないけど、うまくいかないと思ったのは エンディアンがあってなかったのでは
2文字セットにするとかしないで、単純にputchar()で頭から出力するだけで見れそうな気がする。 データに含まれる文字コードと端末に設定してある文字コードが合ってないとか?
>>55 本当にロベール読破した?
エンディアンの項目あったはずだけどな・・
>>49 putsは標準出力に文字列を出力するマクロなのは分かってるみたいだね。
最初の"\x6c6c〜
文字列の中に16進数で直書きするフォーマット。
x6cはx61が'a'だからアスキーコードで'l'を意味する。
x65は'e'、x48はx41が'A'だから'H'。(小文字のaがx61で大文字がx41、アスキーコード表で
ググるべし)
文字列はこの場合下位バイトが先頭に来るから最初の4文字は
"Hell"
同じ要領で次の4バイトも解読できる。
>>56 は解読できないなあ…
>>56 です。みなさまご意見ありがとうございます。
まず仕様を確認した後にアドバイスを参考になんとか解読してみようと思います。
皆さん、ソースコードが公開されていない他人のソフトを調べるときどうしてますか? 逆アセンブルしてCのソースコードに起こすの面倒くさい… 眠い……
はいはいすごいすごい
69 :
デフォルトの名無しさん :2013/09/05(木) 23:24:52.33
>>67 逆コンパイルということ自体そもそも考えないな
本当にCで書いたかどうかさえ怪しいし
だいいちアセンブラはその事案の標準語であって
そもそも調べる目的でソースを起こすと言う考え自体がおかしい。
71 :
デフォルトの名無しさん :2013/09/06(金) 17:13:30.47
C言語CGIってPerlやPHPより結局遅いの?
72 :
デフォルトの名無しさん :2013/09/06(金) 17:17:18.11
エクサイミフ
>>71 2chはCで書かれていて、mod_phpとかmod_perlみたいな仕組みで
webサーバーに常駐してるらしいから、そういうのを使えばCのほうが
速いと思う。
コードがボトルネックじゃないから、高速化してもあんまり意味がないとか
テキスト処理なんかスキルのないPGがCで書くより、スクリプト言語で
素直に書いたほうが速い可能性もあるとか、そういう指摘もあるかもしれない。
速いと思うというか、処理によってはApacheがただファイル吐くより速いよ。 どうしてネイティブバイナリがスクリプトと僅差だと思ったんだ。
>>74 PCの処理は何事もベンチとらないとどういう結果になるか分からないから。
基本的なアルゴリズムが同一なら、 Cというかネイティブのが10倍単位で速いよ。 だからスクリプトとネイティブは相当なことがないと逆転しないと思っていい。
一般論で言ったらCのほうが速いだろうけど、CGIだからいろんな要因が絡んでくるからね。 初心者が工夫しないで素直にコードを書いたらスクリプトのほうが速いとか普通にありえると思う。
それはスクリプト側も同じだってば。 いくらレガシーコードだからって嘘はアカンでしょ。
>>78 どんな環境でも絶対Cのほうが速いとか断言するほうが不誠実だと思うわ。
>>80 そんな事断言してないだろw そっちのがよっぽど不誠実だw
平均して明らかに速いのに同列に語るなって言ってんだよ
>>81 だいたい
>>73 の「と思う」になんで、そこまでツッコミ入れるか意味がわからんわ。
一般論でCが速いだろうけど、測ったこともないし慎重に言っただけ。
そんなにCが速くないと我慢ならんのかって感じだわ。
>>82 その認識で他人に不誠実とまで言い切ったのか?
いちいち例外を持ち出してくるだけあるわな。
>>83 ネイティブだからCGIだろうがなんだろうがCのほうが速いだろうって認識で
断言するのは、不誠実か見識不足だと思うわ。
>>84 断言なんてしてねえって言ってんだろ。
ましてやmod_phpなんで出してきてる癖に見識?
C-CGIですら怪しいっての。
僅差と言いたいならせめてApache抜きのPHP環境で言えよ。
ほとんどネイティブだろうけどな。
C-cgiはCが強力過ぎてクラックされた時のダメージが大きいから倦厭されてるんだろう
過去にも同じ質問したことあるけど、プログラマって1日に何行コード書くんですか? 過労死してるプログラマとかいるけど1日1万行くらい書いてたんですかね?
過労死するプログラマはコードを書かない すでにあるコードに対してひたすら無意味な検証作業、ドキュメント作成、テスト実施を強いられる
何のために 悲惨すぎるわそれ…
90 :
デフォルトの名無しさん :2013/09/06(金) 23:56:57.87
91 :
デフォルトの名無しさん :2013/09/07(土) 03:43:28.88
フハハハハハハハハハハハハハハハハハハハハハハハハ
92 :
デフォルトの名無しさん :2013/09/07(土) 03:53:39.27
PostgreSQLでTIMESTAMP型のあるテーブルから、各年一つずつデータを取り出すにはどうしたらいいか教えろ データの日時はブログみたいに毎日の様々な時間のデータが入ってる 各年から1つずつ取り出すデータは何でもいい、その年の一番新らしいデータでも古いデータでも中間辺りの適当なデータでもいい それを実現するSQLを書け 毎日この糞スレでチャラチャラ不毛なレスして喜んでるゴミクズ共さっさと答えろ お前ら社会の落伍者だからそれくらいしか存在価値ないだろ
人格破綻者がなんか言ってる
94 :
デフォルトの名無しさん :2013/09/07(土) 05:52:57.99
SELECT mydata1, mydata2, ..., mydatan FROM mytable WHILE '1999-01-01' <= mytime AND mytime < '2000-01-01'
>>92 PostgreSQLのリファレンスくらい読めや、雑魚が
destroydb 92
>>88 は事実
常駐先企業の人件費抑制に利用されるだけ
1ループで1づつ増えていくcountという変数があり 押すキーによって変数flagの中身が1〜4の間で変わるとします キーを押している間はcount++を止めたくありません このflagの値が変わるとcountが0になるような文を考えてるんですが どうも考えつきません よろしければご教授おねがいします
>>99 if(flag!=flag_prev) count=0;
変数の値が変わるとイベントを起こすってのがなかったっけ .NETならプロパティで簡単に出来るけど
>>99 Windowsなら
while((GetKeyboardState & (1 << 31)) == 0){
++count;
}
count = 0;
//キーによるフラグのセット
GUIアプリケーションの場合タイマーを使うなどの工夫が要る
>>101 無い。デバッガさえも
APIの引数リストを忘れてた BYTE stat[256] while((GetKeyboardState(stat) & (1 << 31)) == 0){ ++count; } count = 0; //キーによるフラグのセット
auto変数とmalloc関数などで確保するメモリって、どう違うんですか? 後者はメモリのフラグメントが発生するとwikiに書いてありましたが、 前者のauto変数では発生しないんでしょうか?
105 :
デフォルトの名無しさん :2013/09/07(土) 19:49:11.59
発生しない これは「どう違う」という問いへの端的な答えだ
106 :
104 :2013/09/07(土) 20:07:28.83
「どう違う」と言うのは残念な聞き方でした。すみません。 auto変数ではなぜフラグメントが発生しないのでしょうか?
スタックとか First-In/Last-Out でぐぐれ
>>104 auto 変数は「スタック」というメモリ領域に確保されるよ。
別に「スタック」用に使うメモリ領域とそれ以外のメモリ領域とでメモリが物理的に違うというわけではない、おんなじメモリだ
ただ「スタック」の操作については CPU が専用に「スタック」操作用のからくりを持っていることがおおいね
サブルーチンコールも「スタック」を使うね。
>>105 ,107,108
ありがとうございます。
>>107 ,108
「スタック」と聞いて エキスパートCプログラミングを今さっき開きました。
これの155ページに「stack セグメント」の説明があったので読んでみます。
素晴らしいヒントをありがとうございました。
110 :
デフォルトの名無しさん :2013/09/07(土) 20:27:33.90
>>104 情報ソースにWikipedia出すような知能の低い奴は問題外
質問側なら問題無かろう
auto変数について、フラグメントがどうこうって議論はあまりしないから、 なんともいえない気がする。 mallocでフラグメントが発生するってのは、典型的にはfreeで中間だけ 開放される場合を指すんだけど、auto変数はfreeが無いから同じ議論が 成立しない。(mallocで分割される場合も発生するけど) しいていえば、関数を抜けてスタックフレームが開放されるときにまとめて 開放されるから、フラグメントが発生しないってことだろうけど・・・。うーん
113 :
デフォルトの名無しさん :2013/09/07(土) 20:49:19.59
>>112 うーんて「中間だけ」って自分で言ってるだろ
それ以上の答えなんかねえよ
端っこだけを使う限り生じえない問題だ
スタックフレームについては、
あの異様さに驚く初期症状がまだ終わっていないだけ
端っこにくっつけたり切り落としたりするだけだから 断片化はありえない なるほど、簡単に説明できるなw
115 :
デフォルトの名無しさん :2013/09/07(土) 21:32:05.14
Linux環境もない屑が質問するな 質問する前にWindowsとLinuxの両方の環境で検証しろ
などと意味不明な主張を繰り返しており 立てこもり犯は警察の説得に応じる様子は見られません
117 :
デフォルトの名無しさん :2013/09/07(土) 22:02:37.31
Linux環境もない屑が質問するな 質問する前にWindowsとLinuxの両方の環境で検証しろ
入門スレで何を騒ぐか?最初から両方で検証出来る奴以外屑ならこんなスレ要らんわ
119 :
デフォルトの名無しさん :2013/09/07(土) 22:15:08.42
Linux環境もない屑が質問するな
質問する前にWindowsとLinuxの両方の環境で検証しろ
>>118 検証してなお不可解な現象がみられる場合に質問できる場所は必要だ
>>119 ここはそういうスレじゃないから気に入らなきゃ見るな
121 :
デフォルトの名無しさん :2013/09/07(土) 23:27:07.75
ポインタリストにダイレクトにアクセスする方法ってないですか? 先頭ポインタから順に追っていくだけしか無理ですかね?
エスパーするとダブルリンクリストにランダムアクセス出来ないか?という問いかな?
124 :
デフォルトの名無しさん :2013/09/07(土) 23:43:36.76
>>123 そうです。
名前とかついてないですよねリストの要素って。
どうやってアクセスするのかなと。
順次追っていく以外で。
ランダムヲークなら簡単そうじゃないか?
>>124 基本的に無理。mapとかでアイテムを管理するとかしないと
これC++では?
myperlcc.blog.fc2.com/
mapってjavaとかC++じゃなかったっけ。
そもそも順次追っていくのがなぜダメなのか? 関数なりマクロなり一皮かぶせればそれで満足なんじゃないの
オリンピック日本おめでとう!!!!!!!!!!
大きい配列を宣言したらコンパイルは通るのに 実行時に異常終了したんけど、 これはスタック領域が足りからということで自分は納得してるんだけど 今までスタック領域とかピープ領域とか考えたことなくて、 そもそもなんでスタック領域とピープ領域があるんでしょうか?
スタック領域は予め領域確保されてるから処理が早い
>>131 スタックを扱うからくりはCPUに組み込まれている、あとスタックはある種の便利さ(お手軽さ)があるんだね、抽象的ないいかたですまんが
>>132 どーんと大きくmalloc() して、あとはアプリの都合で最大サイズ決め打ちで使うとか
ヒープでも手抜きで早くする方法はいくらでも
134 :
デフォルトの名無しさん :2013/09/08(日) 21:59:30.71
>>133 嘘こけスタック専用命令なんかいらねーよ
おそらくは割り込みで特定のレジスタを使うCPUのことを言っているんだろうが
それは知識の更新と温故知新の両方が足りねー勉強不足で、しかもスレチ
ビジュアルスタジオ2010のcppファイルとexeファイルってどうやって保存するんだ?
スタック命令にPUSH POPがあるが?
139 :
デフォルトの名無しさん :2013/09/08(日) 23:19:13.82
,.,.,.,.,.,.,.,.,__ ,,;f::::::::::::::::::::::ヽ i::::::::/'" ̄ ̄ヾi |:::::::| ,,,,,_ ,,,,,,| |r-==( 。);( 。) ( ヽ :::__)..:: } ,____/ヽ ー== ; ほほう それでそれで? r'"ヽ t、 \___ ! / 、、i ヽ__,,/ / ヽノ j , j |ヽ |⌒`'、__ / / /r | {  ̄''ー-、,,_,ヘ^ | ゝ-,,,_____)--、j / \__ / | "'ー‐‐---''
>>131 スタックは関数呼び出しの仕組みと相性が良くて
使い捨ての変数を簡単に扱える
ヒープは関数呼び出しに影響を受けない変数を作るのに使える
その代わりに後始末の責任を自分で負う
またスタックの制限を超えた大きなメモリを作るときにも必要
よく使う目印 //******************* //+++++++++++++++++++ //VVVVVVVVVVVVVVV //-------------------
//● 目立って自分だけでデバッグしてるときの目印に役立つ
//<<<<<< ? これでいいの?ってときの印
//前の仕様をコメントアウト /* */
146 :
デフォルトの名無しさん :2013/09/09(月) 00:10:34.16
消し忘れたら三重の赤っ恥だな
VCS使って全部消しちゃえよ
>>134 >嘘こけスタック専用命令なんかいらねーよ
PUSH/POP/CALL/RET
#if 0 // ちょっとかえてみる // 前のコード #else // 新しいコード #endif
152 :
デフォルトの名無しさん :2013/09/09(月) 07:17:46.95
C言語でCGI書いてモジュール化してApacheに突っ込んだらオーバーヘッドも減ってPHPやPerlより爆速ってマジ?
>>152 わざわざCで書くならJavaで書いたほうが楽でしかも速いけどね
callにスタックを使わないCPUもあるんだが。 まぁ、リンクレジスタに戻り先が格納されているから call先が必要ならデータスタックに積むがな。
オート変数が置かれる領域の話だから。 知ったかしないで引っ込んでな。
普段
>>134 がどんなCPUを使ってるのか、ちょっと気になる
CよりJAVAのほうが速いの?
159 :
134 :2013/09/09(月) 13:21:26.51
>>148 アイちゃん、いらないっていうのはね
例を示して欲しいという意味ではないんだよ
150が主語を省略してるけど文脈がおかしいから
156みたいに巻き込まれないでね
スタック操作命令(レジスタの退避復帰等)がないと、スレッドとか動かないないんでないかい
もう苛めないであげようよ
やめて、私のために喧嘩をするのは
163 :
デフォルトの名無しさん :2013/09/09(月) 14:31:11.29
>>160 いーや動いた実績がちゃんとある
//156 の放置プレイが楽しい
はああああああああああああああああああああああああああああ
また出てきてるw絶賛恥の上塗り中ww 基礎知識レベルで大見栄切って知ったかして大恥かいてるのにww 普通の神経してたら出てこれねえよww
「スタック専用命令が無い」なんて誰も言って無いと思うが、バカが多いな
>>134 は決してスタックになびかない
コンパイラががpushを吐けばmovに
callを作ればjmpに書き換え
mainですらインラインにする
そう、彼こそあらゆるlibcを知り尽くすC言語マスターなのである
>>166 また墓穴ほってるwwスタック命令いらないって発言を強化してるwww
それで十分に大恥なのにまだ気が付いてないww
CPUでもライブラリでもいいけど、スタックの機能が無いと クイックソートもハノイの塔も厳しいな
普通のプログラムも無理だよ API呼び出しからしてCALL/RETなんだから
スタックポインタを持たないマイナーなRISC系のCPUですら、汎用レジスタを スタックポインタとして利用するための命令が用意されているしねえ
てゆうか、何が気に入らなくて
>>134 が暴れているのか不思議ではある。
そもそも
>>133 は「スタックを扱うからくり」としか説明してないのに。
それを「スタック専用命令」と狭義に解釈して噛み付いた挙句、
「オレすごい、他は馬鹿」を主張する
>>134 の勇気に完敗ですわ
174 :
デフォルトの名無しさん :2013/09/09(月) 17:54:12.85
175 :
デフォルトの名無しさん :2013/09/09(月) 18:35:10.61
>>170 いや全然平気
ガチでスタックのないマシンでも再帰は普通に使う
push/pop命令がないCPUのことでもいいたかったんじゃあねえの
177 :
デフォルトの名無しさん :2013/09/09(月) 19:00:20.79
そのとおりだが、その発言の意図がイミフ
178 :
バカ晒しあげ :2013/09/09(月) 19:07:37.03
>>174 誰が「スタック専用命令が無い」って言ったんだ?
ムダ知識を披露してスレを荒らしたいからに決まってるだろ
180 :
デフォルトの名無しさん :2013/09/09(月) 19:30:01.48
181 :
デフォルトの名無しさん :2013/09/09(月) 19:35:52.80
>>179 それはあまりに無知の知を欠いた発言だ
おまえ目線で言うとな、push/pop 命令とは本質的に何か
それは push/pop でなければできないのか、ということだ
それはあまりにスレの知を欠いた発言だ おまえ目線で言うとな、入門編とは本質的に何か それは このスレ でなければできないのか、ということだ
183 :
バカ晒しあげ :2013/09/09(月) 19:50:51.68
>>179 ムダ知識を披露してスレを荒らすために、誰も言っていない「スタック専用命令が無い」に
突っ込みいてるバカって事だな。
排泄物の片付け方を知らずに総ツッコミを受けてるバカのことだ
185 :
バカ晒しあげ :2013/09/09(月) 20:02:34.56
総ツッコミと自演してるバカが一匹。わかってないバカはお前だけ。
「いらない」って高々と宣言したんだから x86だろうがSPARCだろうがARMだろうが 実質的にstack系の命令にあたるのは マクロアセンブラ含めて全部使わないようにしてもらわないと
187 :
デフォルトの名無しさん :2013/09/09(月) 20:25:12.99
>>186 アイちゃん、アイちゃん
いらないっていうのは、使わないっていう意味じゃないんだよ
使うなら「いる」んだろうが どこの小学生だお前は
またお前が荒らしてたのか
朝鮮人は本当に害しかもたらさないな
192 :
デフォルトの名無しさん :2013/09/09(月) 21:55:33.38
>>188 違うってばアイちゃん、
使っていても、いらないものはあるんだよ
//どこの会社にでもいるでしょう、そういう人
>>192 前スレでもアイちゃんとか言ってた馬鹿?
>>192 おいおい今度は必要性すら否定し始めてるじゃないか
自分が何言ってるのか理解できてないんじゃないのか?
そういえば68Kってpush/popそのものは無かったなと一瞬思ったけどpeaがあった。
196 :
バカ晒しあげ :2013/09/09(月) 22:37:45.47
>>186 必死にQzの擁護してたと判明した今の気分は?
197 :
デフォルトの名無しさん :2013/09/09(月) 22:54:04.38
>>194 アイちゃん、否定し【始め】てはいないよ
19 レスも流れたあとで追うのが大変だろうけど
説明能力ゼロのくせにムダ知識アピールを続けるアホがこの世から早く消えますように
199 :
デフォルトの名無しさん :2013/09/09(月) 23:46:50.53
ブーメラン
200 :
デフォルトの名無しさん :2013/09/10(火) 00:29:35.58
2chらしい罵声を浴びせてくるデバッガ作ってよ 宣言してない変数を関数に渡したら ------------------------エラー:printf( "%d" , test ); >test >test >test >test >test 馬鹿じゃねこいつ 死ねばいいのに ------------------------ エラーや警告の数が多い場合は ------------------------ 馬鹿には無理 ------------------------ って表示してくれるようなデバッガ
201 :
デフォルトの名無しさん :2013/09/10(火) 01:32:51.21
何やっても ggrks しか表示しないデバッガ?
>>181 アドレッシングが豊富なら push/pop の代用は容易だが、さすがに call/ret はいかんともしがたいのでは?
それにしても盛況じゃ、嗾けた人間名利につきるね
朝鮮人はいつまで日本に居座り続けるつもりなのだろうか
母国に比べたら天国だからね
とっとと祖国に帰ってくんないかなあ 日本にいたら迷惑を掛ける事しかしないし
>>196 中身に反論せずに印象操作し始めた時点で
自分の意見が無いことを自分から自白しているようなもんだな
207 :
デフォルトの名無しさん :2013/09/10(火) 11:32:47.71
プログラムからビットマップファイルを作る場合に、 biXPixPerMeterとbiYPixPerMeterの部分に入れる値はどうやって求めたらいいでしょうか
209 :
バカ晒しあげ :2013/09/10(火) 17:43:47.64
>>206 Qzを擁護するようなバカには最初から見えてないものがある。
> 「スタック専用命令が無い」なんて誰も言って無いと思うが、バカが多いな
バカはこの意味が未だにわかってないのだろう
>>208 求める必要が有る場合は単純に計算すればいいだけだし
特に必要ない場合は0にしとけばいいだろ
>>209 わかっていないという事でいいぞ
それでそういう無駄な論点ずらしは終わり
で、俺はいらないなら使わずに作れと言ってるのだが結局できないの?
必要なのにいらないと言った否定したがりの低能なの?
212 :
デフォルトの名無しさん :2013/09/10(火) 18:27:02.06
できるならいいですよ どうぞレガシーな方法で作ってくださいな でも使うんでしょ?低能じゃん
>>213 うわ…知らないってこわいわー by サン・ジェルミ
215 :
デフォルトの名無しさん :2013/09/10(火) 18:56:47.56
>>208 0 のみ
あんなところにあってはいけない値
>>214 そもそも2種類あるなかで主流の一方を不要だと言ってしまった時点で
完璧に反論できないから、そうやって仄めかすことしかできないんでしょ?
素直に認めたら?必要です使いますって
217 :
デフォルトの名無しさん :2013/09/10(火) 19:23:46.40
>>216 うわ…知らないってこわいわー by サン・ジェルミ
218 :
デフォルトの名無しさん :2013/09/10(火) 19:36:15.91
スタックポインタとフレームポインタの元来の関係を知らないまま 自覚なき恥を全世界に垂れ流す我が国の外交官・・・ 2種類、本当にご存知?
219 :
デフォルトの名無しさん :2013/09/10(火) 22:42:23.56
>>218 うわ…知らないってこわいわー by サン・ジェルミ
入門スレとそうじゃないスレの元来の関係を知ることから始めよう
>>218 pascal では関数/手続きのなかで関数/手続きを定義することができ、内側の関数は外側のコンテキストを全部参照できるのだから、原理的には呼び出し側へのポインタを持って遡れるようにしないといけないと予想されますね
>>221 C言語はそういう煩雑さを避けるためにスタックフレームを簡略化してすべての関数を
同じレベルに置いたんだろうが
Pascalとか言ってる奴は老害
223 :
デフォルトの名無しさん :2013/09/11(水) 00:54:17.94
>>221 Cスレで「外側のコンテキスト」って一体なにが言いたいの?
普通のおバカと解釈することも、想像を絶する大アホと解釈することもできるが
つまり
>>218-221 みたいなムダ知識を垂れ流す
コンテキストの狂ったプロセスは CPUによって abortされるべき
Pascalで作られたコードはあちこちに残っているから、逆コンパイラ作るときに必要な知識かな
とっくに論破されているのに、それに気付かずバカ、アホと騒いで↑レスする 玄人のフリをしたい素人がいるんですが。どうしたらいいですか?
push xはstack[sp++] = x;と同形。 pop xはx = stack[--sp];と同形。 配列とインクリメントとデクレメントと代入があれば実現可能。 でもスレチはいかんぞ。
call absolute_addressはpush ip+α; jmp absolute_address;と同形。retはpop ipと同形。 ただし、ipは現在の実行位置とし、ip+αをcallの次のアドレスとする。
大昔はスタックフレームの概念のないCPUもあった。 スタックフレームがなくても配列や変数はメモリのランダムアクセスで利用可能。はい、論破。
代替可能だから不要というなら、Cどころかアセンブリすら不要になるが
スタックポインタが8bit長しかない6502の事もたまには思い出してあげてください
6502は、スタック領域が256バイトしかないってだけで、サブルチーンコールの仕組みは普通では
衒学者ばっかりだな
234 :
デフォルトの名無しさん :2013/09/11(水) 08:25:12.18
>>224 abort は CPU にとって通常の操作でしかないんですけど?
ビットマップファイルをいじくるツールを作ってるんですが、 biHeightの情報に負の数が格納されたビットマップファイルは一般に使われているものなんでしょうか メジャーな画像編集ソフトで編集した場合に、biHeightに負の数が入るものってありますか
たまに見かける。大した手間はないから対応するのが無難
237 :
デフォルトの名無しさん :2013/09/11(水) 10:02:20.26
たまにっつーか、普通に使うね はっきり言ってボトムアップ形式のメリットがまったくわからない
「保存時にどちらにするか選べる」をつけるとちょっぴりめんどくさいな
とりあえず対応しときました。 データを作るのが面倒なので動作確認はしない。 ワイルドだろ〜
ボトムアップは昔の名残りだな。
たかがBMPと思って実装しようとしたら、真面目に作るとかなり複雑で驚いた20年前の夏
>>232 当たり前だろ
誰がそんな余計な話をした
お前が勝手に考えただけだろ
>>222 >Pascalとか言ってる奴は老害
‥‥Delphi
245 :
デフォルトの名無しさん :2013/09/12(木) 09:30:14.97
ポインタで躓いたと言う時のポインタは ポインタ型 ポインタ値 ポインタ変数 のどれを指してるの?
全部ごっちゃになるから躓く
247 :
デフォルトの名無しさん :2013/09/12(木) 09:33:47.48
なるほど 即レスサンキュー
248 :
デフォルトの名無しさん :2013/09/12(木) 09:38:47.98
#include<stdio.h> int main(void) { /* この間に何か書く言語 */ return 0; } って認識でよい? なんかこのゴニョゴニョしたの毎回書くのはめんどくさいんだけど 誰も何も言わないのかな?
ふむふむ Cが副作用バリバリな言語なのは このポインタに原因がありそうだな
〃∩ _, ,_ 吸って吸って! ⊂⌒( `Д´) ビーチクも! `ヽ._つ⊂ノ
>>248 NG
ゴニョゴニョの部分を自分で選択できるようになったら初心者卒業
>>251 なるほど
ゴニョゴニョにはいろんなタイプがありそうやな
> /* この間に何か書く言語 */ 半分正解 ただしプログラムがでかくなるにつれて 一列にずらずらと並べるのではなく分割・再配置することが必須(関数化) また分割したらそのつなぎの部分(引数・戻り値)の制限や罠を覚えるのがミソ
いつまでやってんだ氏ね
257 :
デフォルトの名無しさん :2013/09/12(木) 13:26:49.97
# let foo = [|'a';'b';'c'|];; val foo : char array = [|'a'; 'b'; 'c'|] foo.(2) <- 'z';; (* ←これがポインタかな? *) - : unit = () # foo;; - : char array = [|'a'; 'b'; 'z'|] OCamlで理解してみたけど 要は配列のリンクとか書き替え 呼び出しがポインタか な?
ほぉほぉ #include <stdio.h> っつーのはHaskellで言う Preludeみたいなもんか
PreludeというかSystem.IO
260 :
デフォルトの名無しさん :2013/09/12(木) 19:54:25.42
デルファイ使ってる奴って頭悪いんだろうな
261 :
デフォルトの名無しさん :2013/09/12(木) 20:14:05.04
ユニックスを使うやつなみだろうな
ユニックスwww カタカナで書いたの初めて見たw リナックスはトイレのメーカーみたいだしw
*NAXだろそれはw
Delphiは、コンパイルが速い
>>964 まぁ、コンパイル専業のメーカーが作っているからね。
266 :
デフォルトの名無しさん :2013/09/13(金) 03:59:27.84
>>965 引数で渡してるアドレスの中身は確認してみた?
どこの誤爆だよ
268 :
デフォルトの名無しさん :2013/09/13(金) 04:20:05.40
ビギナーから中堅プログラマに おすすめの雑誌とかあります?
271 :
デフォルトの名無しさん :2013/09/13(金) 06:44:51.94
トラ技
マイコンBASICマガジン
プログラミングの魔道書vol.1って C初心者には重すぎる?
読んでも無いのに理解できるか他人に聞く奴にはどんな本でも重すぎるだろう
ヲタの好きそうな臭い名前の本だな、重いかどうかはともかく、とりあえずやめておけ。
1000円だし買ってみてたらいいじゃん。
277 :
デフォルトの名無しさん :2013/09/13(金) 13:05:34.45
ゴミだったらどうするの 1000円出してゴミを買うとなるとたかが1000円とは言えない
買って見なきゃゴミかどうかはわかんないから買うしかない
ゴミをゴミと判別できるだけの実力も 良書を良書と判別できるだけの実力もないだろう
どっからそんなマイナーな本の存在を知ったの
>>277 ゴミってわかってるものに金出すのはどうかと思うけど、それがわかんないんだから1000円ぐらい賭けてみたっていいじゃん
282 :
デフォルトの名無しさん :2013/09/13(金) 13:48:37.89
vol.2は面白かったがCの話じゃない vol.1はCの話だから 買おうかどうか迷う ってかCがわからんからC分かってる人の意見が聞きたいのだ
図書館に相談すれば本を観覧できるように入れてくれますよ 現物を読んで納得すれば購入するのがいいでしょう
1000円くらいの本を買うのにそんなに考えてどうすんのって感じだけど、 2, 3000円の本を買って職場の机の上に置いておいたら 「これわざわざ自費で買ったの?」みたいに驚かれるとか、職業プログラマでも そんな感じだしな。
286 :
デフォルトの名無しさん :2013/09/13(金) 14:45:18.41
え?マイナーなの 超凄い人が書いてるっぽいんだが
>>286 これboostjpの面子だよな…。
ある意味凄いけどさ。
便所の落書きに宣伝しないといけないようじゃマイナーだろ
達人出版会? なにそれおいしいの?
290 :
デフォルトの名無しさん :2013/09/13(金) 16:11:10.42
ISBN 978-4320026926
C言語によるオブジェクト指向プログラミング
カプセル化以外は考えない方がいい
C言語のIDEってC++と同じでいいんですか? VSがC++やC#はあってもCってのがないもんで
VSでもEclipse CDTでも、.cでファイル作ればCになるんじゃね
296 :
デフォルトの名無しさん :2013/09/14(土) 09:32:20.74
ファイルの一部だけ書き換えるのってどうやるの? 一部だけ書き換えて全体を保存しなおすんじゃなくて、 一部だけ書き換えて一部だけ保存しなおすってのがやりたい。
297 :
デフォルトの名無しさん :2013/09/14(土) 10:28:09.76
fseek()
298 :
デフォルトの名無しさん :2013/09/14(土) 10:36:59.30
fopen("file.txt", "r+")
シークくらいどの入門書にも載ってるだろ
ファイルの一部を書き換えてもそれでファイルの長さが変わるような場合はコピーしながら そこだけ書き換え(トランザクション処理)して最後に元のファイルを消して、出来たファイル を元のファイル名にリネームするしかないぞ
>>301 そういう問題じゃないだろバカ
Windowsならメモリマップドファイルとか言うんだろうが
違う
>>303 だからファイルサイズが違ってきたらどうすんの?
>>300 みたいなヤツが作ったゴミコードがあちこちに混入し
ハードリンクぶっ千切って周りに迷惑掛けまくるんだよな
>>304 そんなことどこにも書いてもない
もしかして、ファイルを書き換えると必ずサイズが変わると思ってる?
>>306 あったまわりーなー
今あるデータより少しでもサイズが違うデータを書き込むと長さが変わるだろうが
特にシーケンシャルファイル
変更部分だけ書き直せばいいファイルシステムがあると便利だな
なんでそこでファイルシステムの話になるのかわからん
jpgとかのデータって 配列で扱ってるの?
ヒント:クラスタサイズ
量子化テーブル ハフマンテーブル にごにょごにょ書かれてるのか これって型を勝手に作ってるの?
>>309 ファイルシステム以外でリーズナブルに実現する方法教えてくれ。
例えば、テキストファイル内の指定行を読み込む関数と、 読み込んだ内容を編集した後、 サイズ変更を意識することなく、元のファイルにそのまま、 指定行に書き戻すような関数があると便利。
>>315 作ればいいんじゃないの?
本質的にその操作はコストが掛かるから、期待するような、魔法の関数は無い。
行単位の編集が多いなら、データ構造を工夫する方がいい
SQLサーバでも立てたほうがラクなんじゃないか
エディタみたいに行を配列のポインタで持って置いて と書こうとしたがやっぱり必要ないわ
319 :
デフォルトの名無しさん :2013/09/14(土) 20:00:29.04
キャッシュに残らない動画って どういう形式なんだ?
320 :
デフォルトの名無しさん :2013/09/14(土) 20:29:53.27
>>319 そのネタ、いまだにアホ大杉でもう疲れ果てたわ
321 :
デフォルトの名無しさん :2013/09/14(土) 20:38:28.16
そんなレスはええねん 疲れたなら出てくんな
323 :
デフォルトの名無しさん :2013/09/14(土) 22:19:56.98
東夷がなんか言ってるわwww 血統の無い奴に限ってブランドに縋るんだよな まぁスレ違いなのでここらで
324 :
デフォルトの名無しさん :2013/09/14(土) 22:44:30.51
同業者にまでおかしいのがいるなあ… 世も末だ
同郷者? いや待て、東京者かも知れん
標準語と東京弁の区別のついてない東京者の多いこと多いこと
シブヤとヒビヤの違いがないのが東京弁と聞いた
重要なのは標準語であることではなくて 関西弁でないこと
ほおんな
331 :
デフォルトの名無しさん :2013/09/15(日) 15:40:56.75
変数に困ったら関西弁におちつく sum goukei nanbo みたいに
332 :
デフォルトの名無しさん :2013/09/15(日) 18:32:06.69
変数に困ったらそれっぽい単語をWeblioで英訳して使ってる
高卒ボキャブラリーでなんとかなる
>>316 全てをトークン単位で扱うエディタを作りたかった。最初からばらばらなので、途中だけの編集とか途中をインクルードとか別ファイルと構造やプロパティ値だけ取り出して重ね合わせたり出来る。基本的に同じ事を二回書くことがない。
自分の技術では無理だった
技術ある人ならpythonの途中からperlのコードに変わるとか、仮想マシンのwin機のコードに繋がるとか、作れるよね 作って作って
無意味なもの作って何がしたいんですか
>>334 正直なにをやりたいのかさっぱりわからん
たぶん病気。
ばっと見1ファイルなんだけど、中身は好きな位置で好きな部分を好きな様に組み合わせられたら便利だと思わない? 田←これが画面だとして、左上変数名と右上値を別々に管理して使いまわせるとか 左下関数呼び出しに対して右下実際呼ぶ関数はそれぞれ別に利用したり途中をまた別のものの重ねたり。他のエンジンと協調したりとかしたらすげーなーと。
そもそも1ファイルでなければならない理由は?
ただの画面分割? vimで:vsとか:spとか打てばなると思うけど。
343 :
デフォルトの名無しさん :2013/09/15(日) 20:59:49.74
接続されたUSB機器がUSBフラッシュメモリか、それ以外かを判断したいのですが、 シリアル番号を持っている、という条件だとモデムやらWifi機器やらカメラやらが シリアル番号を持っているため判断できません。 DeviceIoControlを使って PUSB_NODE_CONNECTION_INFORMATION_EXを取得して、 結果の中のDeviceDescriptorから判断したいのですが、 iSerialNumber や idVendor や idProduct だと どうしても判断できないため、DeviceDescriptorあたりの情報から なんとか判断する方法は無いでしょうか。
344 :
デフォルトの名無しさん :2013/09/15(日) 21:34:02.78
自動車のコンピュータってC言語?
自動車の制御プログラムはC言語
346 :
デフォルトの名無しさん :2013/09/15(日) 22:26:57.86
じゃあCやってりゃ めっちゃ仕事あるやん
今は自動運転が課題になってるからね 面白いと思うよ
自動車の制御プログラム開発はほとんどプログラミングはしない 人の命が関わるから高い品質が求められるんで、 業務の9割は設計書作成とテスト クリエイティブ性を発揮できる余地など全く無い あれはソフトウェアというより工業製品だな プログラマーとしては一番面白くない分野だと思うね
349 :
デフォルトの名無しさん :2013/09/15(日) 22:58:21.51
CとCoqでいいか?
>>343 通信自体はマスストレージクラスだろうけど、モノが何かなんてVIDとPIDで見るしかないだろう
プログラムじゃどうしようもない
353 :
デフォルトの名無しさん :2013/09/16(月) 01:42:52.16
コンパイルに到達するまで少なくとも何個のプログラミング言語を経由 してるんですか?例えばVC++でCファイルをコンパイルするときマシン語 に到達するまで経由する言語は?
鰤
スレの住民はQz召喚の呪文を唱えた!
>>353 C言語はアセンブラに次いで低レベル言語だから他の言語の中途になる事はあっても
コンパイルの途中で他の言語になる事はない
357 :
デフォルトの名無しさん :2013/09/16(月) 02:44:09.53
>>356 そうなんだ、でコンパイラは何言語でできてるの?
358 :
デフォルトの名無しさん :2013/09/16(月) 04:04:48.90
>>356 RTLも知らずに偉そうに回答する似非プログラマ晒しage
359 :
デフォルトの名無しさん :2013/09/16(月) 04:05:53.06
自作のインタプリタもどき作ってるんだけど、これ順番にテキスト形式の命令を読み込んで判定していくんじゃなくてコンパイルもどきやったら速いんじゃね? 例えばdrawmessage("テスト"); とか、 前回の終わりからstrstrで「("」を検索してstrncpyで抜き出して、 strcmpで比較してそれがdrawmessageだったら続きからstrstrで「");」を検索してstrncpyで抜き出して、 それを描画!って今やってるんだけど、 プリコンパイルと称して、メッセージの種類を4byte固定、続いて引数が文字のような可変長ならそのバイト数、次に引数の内容、 みたいな感じにしてメモリに入れておけば速いんじゃね?
360 :
デフォルトの名無しさん :2013/09/16(月) 06:38:56.12
drawmessageを命令ID148ということにするとメモリの中のイメージはこんな感じ 01480006テスト 読み出すときは最初の4バイトをmemcpyでint型の変数にコピーして、 あらかじめ#define COMMAND_DRAWMESSAGE 148しといたやつとswitchで判定して、 COMMAND_DRAWMESSAGEと一致したらmemcpyで次の4byteをまた4byteのint型変数にコピー、 そうしたら6と分かるから次から6byteコピー、そして実行、 といった具合だ
>>359 既存のインタープリタ調べてる?
最後までテキストのまま処理するのって、バッチファイルとか
シェルスクリプトぐらいで、たいてい中間言語に変換すると思うが
VBとかJavaとかC#とか
>>359 いっそdrwmsgとか、命令の名前を固定長にしたらどうだろうかw
自作のインタプリタでも、パースと実行を分けて実装してる方が多いんじゃないか
パース結果をファイルに吐き出して運用してる人は少なそうだけど…
>>359 それ drawmessage( "テスト"); ってやられるだけで不味いことになるから、字句解析、構文解析 とかを調べてみて。
コンパイルもどきは中間言語辺りで調べれば幸福になれるかも。
発想は悪くないから、がんばれ。
366 :
デフォルトの名無しさん :2013/09/16(月) 11:10:21.06
cってすべてのcpuに対応してるの
ENIAC用のコンパイラはないよな
世界のCPU絶対数のうち99.99%ぐらいは対応してるだろうが、全部は無理。
Cが対応するんじゃなくてそのCPU(メーカー)が対応するもんだ
インタプリタしか知らない奴ははすっこんでろ
6502のようなどう考えてもコンパイラ向きのアーキテクチャでないCPUにもCコンパイラが 作られていたんだから、普通のCPUならだいたい出来るはず
>>367 ないことは証明できないけど、俺は見たことない
>>372 6502 のどこが C 向きでないのか、よくわからん。
8080 とかに比べれば随分マシだと思うけど。
>>374 スタックポインタが8bitとかふざけてるだろ
ローカル変数もろくに宣言できない
いつもの定型が使えないのはわかったが 致命的ではないな
8bitマシンで64bitマシン上のC/C++コンパイラをエミュレート可能
6502のスタックポインタは8bitでそのままではさすがに使い物にならないので、 ローカル変数宣言時には16bitスタックポインタをエミュレートしたルーチンをコールしていたよ そのせいでコンパイラがそんなに速くならなかった ローカル変数使用する度にコールしないといけないからね 8080も命令が硬いが、Z80でかなりマシになった しかし8bitCPUはとにかくメモリ空間が狭くてCコンパイラそのものの実装が無理っぽかった 8086になったら今度はセグメントレジスタとか意識しないといけないし、それでも8bitよりは マシになったが変なルールを守らなければならなかった まともになったのは80386からだな
>>379 そういう段階ではアセンブラに近接してるな
382 :
デフォルトの名無しさん :2013/09/16(月) 13:53:34.75
Cが多くのCPUに対応してるのは分かったけど どのCPUに最適になってんだろな
大域変数で配列を宣言、定義した後に、呼び出した関数内のreallocで配列の サイズを変更した場合って、新たに確保した領域は局所変数と見なされて 関数の外の他の変数によって上書きされる可能性ってあるのかな?
>>384 realloc()でサイズの変更を出来るのはmalloc()で確保した領域だけ
386 :
デフォルトの名無しさん :2013/09/16(月) 17:42:26.71
>>381 「マイクロ」プロセッサと、そうでないものの比較だね
387 :
デフォルトの名無しさん :2013/09/16(月) 20:01:36.30
CPUもメモリも薄っぺらい板なのに、何で一つのノートパソコンに1枚ずつしか入ってないんですか? 両方とも10枚くらい入れても重くならないし入れるべきじゃないですか?
>>387 いいところに目をつけたな
需要があるなら作って売れば大儲けだ
排熱は?
390 :
デフォルトの名無しさん :2013/09/16(月) 20:11:20.48
>>387 不動ジャンクでいいからノート PC 買って分解してみな、できるだけナイスバディーなやつで
ちょびひげのおっさんの絵とか好きな人なら感動できること間違いなし、基板から何からすごいことになってるから
391 :
デフォルトの名無しさん :2013/09/16(月) 22:35:21.75
複数のCPUを効率よく動かせる OSとか言語とかなにかあんの?
マルチコアのCPUが出てくる前はマルチCPUのPCとかあったよな。 今でもサーバー用とかであるかもしれんけど。
並列計算機ならあるんじゃね
スパコンとかはそうだろ
Rust (プログラミング言語) - Wikipedia
Rust は実験的な並列かつマルチパラダイムのプログラミング言語である。モジラによって開発中である。
純関数型プログラミング、並列アクターモデル、手続き型プログラミング、オブジェクト指向プログラミングをサポートする実用的な言語を目指し開発中である。
安全性、メモリ管理、並列性が、この言語の目立った特徴となっている。性能はC++言語に匹敵するものになるはずである。
Mozilla発の新言語Rustの概要 - Qiita [キータ]
RustというMozillaが開発している言語に興味を持っている。
マルチコアを生かす次世代のブラウザエンジンであるServoの開発に使われている。
実行速度重視の、静的型付けのマルチパラダイム言語。
Actorモデルに基づいた並列計算。
Haskellの型クラスのようなオープンなtraitに基づく簡潔なOOP。
バイナリがC互換。OOPも構造体のデータ定義とメソッドを定義が分離した形になっている。
安全性を保ちつつ、パフォーマンスを落とさないポインタ操作。
関数型言語の機能(クロージャ、代数的データ型とパターンマッチ)を持つ。
前にCで書いたプログラムをRustで書き換えてみたたが、実行速度はかなり速かった。
ロジックを微妙に変えたので単純比較はできないが、Cの物よりも速かった。
http://qiita.com/nebutalab/items/13073cc20d8ee719fdf6
396 :
デフォルトの名無しさん :2013/09/17(火) 02:50:04.56
きいたふうなくちをきくな
Xeon「....」 まぁ一般家庭じゃあマルチプロセッサどころかシングルプロセッサすら十分に使い切れていないわけで 需要がなければ供給もないと
399 :
デフォルトの名無しさん :2013/09/17(火) 16:30:39.21
DragonFly BSD
400 :
デフォルトの名無しさん :2013/09/17(火) 16:36:58.00
Cだって特殊な書き方を一切制限したらインタプリタですむんじゃないですか?
C++のインタプリタが物理研究用に存在してる
なんのためにC++やってるのか謎だな
「素朴な」疑問なんだろう
デバッグの為だろ もしCインタープリタがあるなら
405 :
デフォルトの名無しさん :2013/09/17(火) 19:42:49.28
型落ちのパソコン買ったんですがデフォルトでMicrosoft Visual C++ 2005 Redistributableというのが入ってました。これはVC++ダウンロードしなくて いってことですか?いつも買ったらそくネットからインストールしてたんですが これつかったらいいんですか?
406 :
405 :2013/09/17(火) 19:46:42.84
あ、いつもVC++でCのプログラム作ってるんで。
中古でなくて?2005は既に入手が難しいだろう
408 :
デフォルトの名無しさん :2013/09/17(火) 19:58:00.82
何言ってんの、こいつ? うわーこっち見てるよ
409 :
デフォルトの名無しさん :2013/09/17(火) 19:58:04.86
410 :
デフォルトの名無しさん :2013/09/17(火) 20:07:56.69
>>400 別に何も制限しなくても
お前んとことかは既にインタープリタなんだがw
開発環境なんか普通は入ってないから、どういう訳か入ったまま売られてたとしか思えない昔は コンピュータを使う=プログラミングする だったんだが
Windowsに毒されてたか。Linuxには入ってるよね
一生使わないソフトが山ほど入っているというのは今の時代には犯罪に近い
Redistributableって開発環境じゃなくてランタイムライブラリだぞ
415 :
デフォルトの名無しさん :2013/09/17(火) 20:21:38.74
意味わかるやつ皆無orz
>>414 ライブラリだけ手に入るのか。知らんかった。
(古いものには用は無いというマイクロソフトには期待してないので)
418 :
デフォルトの名無しさん :2013/09/17(火) 20:34:44.66
>>414 あランラブですか....
開発環境かとオモタ
ランラブw
typoかと思った そういう意味か
さすがにランラブwは誰にも通じない
アホ特有の略称
423 :
デフォルトの名無しさん :2013/09/17(火) 21:06:06.34
ランパブくらい行ったことねーのか 悪いことしなきゃそんな怖いとこじゃないのに
自作関数で引数を整数、戻り値を文字型にするにはどうすればいいのでしょうか?
char* jisaku(int x){}
文字型などない
C言語で戻り値の文字は1文字です
文字列型などない
struct tag_mojiretu { char c[256]; };
432 :
デフォルトの名無しさん :2013/09/17(火) 22:10:40.88
char jisaku(int x){}
#define fn() *((char*)[256])&fn_hontai() #define fn_dainyuu(a) *((char*)[256])&(*(struct tag_mojiretu*)a=fn_hontai()) struct tag_mojiretu fn_hontai(void);
未だに黒魔術は理解できない
充分に発達したCコードは、魔法と見分けが付かない
436 :
デフォルトの名無しさん :2013/09/17(火) 23:58:46.07
どみそ
>>438 何れかの次元でピボット配下にオーバーラップさせればいい話だろ?
438 :
デフォルトの名無しさん :2013/09/18(水) 14:44:44.90
unsigned charの変数ってprintfで出力するとき書式は%何にしたらいいんですか? %cだと文字化けしました。
>>438 アスキーコードだったら化けないと思うけど、何の文字が入ってたの?
440 :
デフォルトの名無しさん :2013/09/18(水) 14:50:34.41
>>439 すいません、アスキーコードが文字化けと勘違いしてました。
ありがとうございます。
printf("%02x", c); みたいに文字コードを表示するつもりで printf("%c", c); と文字を出力していたってことなのかね。
そしれ
G?
444 :
デフォルトの名無しさん :2013/09/18(水) 20:17:28.02
データセンターの借り方を教えてください。 サーバー持ち込みでラックを借りたいのですが、どうすればいいのでしょうか? 予算は月20万以内に抑えたいと考えています。 初期費用はどのくらいかかるものなのでしょうか? 最初は平べったいサーバーを6台置きたいです。
445 :
デフォルトの名無しさん :2013/09/18(水) 20:21:36.31
またシャブ中キター
446 :
デフォルトの名無しさん :2013/09/18(水) 20:30:49.24
>>398 へー LISPで動かしてたんだ
なんか未来っぽいなwwww
すみません。教えて下さい。 下のような8ビット長のデータがあって、1のビットが3個あったら、 3の値を返す一番簡単な方法がありましたら教えてください! よろしくお願いします! a = 0b000100110; 1は3個なので3を取り出したい
>>448 その8ビットの数を添字にする配列に予め答えを全部書いとく。
>>450 is〜系の実装でそういうテーブル引きしてるのを見たことがある
処理速度も催促だな
>>&448
int bc(char a){int r[16]={0,1,1,2, 1,2,2,3, 1,2,2,3, 2,3,3,4}; return r[a&15]+r[(a>> 4)&15];}
456 :
片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/09/18(水) 21:15:10.93
>>448 #include <stdio.h>
int main(void) { int i, j, n;
printf("char table[256] = {\n");
for (i = 0; i < 256; i++) {
n = 0;
for (j = 0; j < 8; j++) if (i & (1 << j)) n++;
}
printf("%d, \", n);
printf("};\n"); return 0; }
>>455 配列rはstatic constにした方がいい
はぁ?
459 :
448 :2013/09/18(水) 21:29:08.09
沢山のレスありがとうございます! 皆さんの教えてくれたコードだと、自分にはさっぱり仕組みが分かりません(;´Д`) レス頂いたのに凄く申し訳ないですが、下のようなコードってアリですかね? ちなみに、Cはマイコン用のコンパイラでMikroCというものを使っています x = a.b0 + a.b1 + a.b2 + a.b3 + a.b4 + a.b5 + a.b6 + a.b7; せっかくレス頂いたのに、自分のレベルではこんな冗長なコードしか理解できそうにないですorz
蟻
typedef struct { union { struct { int b0 : 1; int b1 : 1; int b2 : 1; int b3 : 1; int b4 : 1; int b5 : 1; int b6 : 1; int b7 : 1; }; int b; }; } MYSTRUCT;
462 :
デフォルトの名無しさん :2013/09/18(水) 22:19:32.07
int x; MYSTRUCT a; a.b = ...; //値を入れる x = a.b0 + a.b1 + a.b2 + a.b3 + a.b4 + a.b5 + a.b6 + a.b7;
463 :
デフォルトの名無しさん :2013/09/18(水) 22:29:32.55
>>447 ありがとうございます。
県別になってたらもっとよかったのですがこれでもかなり便利なので助かります。
調べてみます。
464 :
デフォルトの名無しさん :2013/09/18(水) 23:32:49.88
配列の値をシリアライズ(保存)して別のプログラムでも使えるようにしたいん ですがどうしたらいいですか?
シリアライズ・ライブラリをつかう
とりあえずテキストでええじゃないかええじゃないか
そもそもデータセンターはIT企業でなければ借りられない
>>464 シリアライズを保存って訳すから何をすればいいか分からなくなるんだろ
469 :
デフォルトの名無しさん :2013/09/19(木) 02:04:11.20
予めファイルから読み込み対象のファイルリストを読み込み、 「ディレクトリ名+ファイル名」 でファイルを開いていきたいのですがうまくいきません。 以下のような感じでsampleディレクトリの配列fileに あるファイル(input.csv)にアクセスできるかなと思ったらエラーになりました。 char file[256]; strcpy(file, "input.csv"); if((fp=fopen(strcat("sample\\",file), "r"))==NULL){(略)} 以下のようにしたらsampleディレクトリにあるinput.csvファイルに アクセスはできました。 if((fp=fopen("sample\\input.csv", "r"))==NULL){(略)} 以下のようにしてもエラーでアクセスできませんでした。 if((fp=fopen(strcat("sample\\","input.csv"), "r"))==NULL){(略)} 解決策を教えていただけないでしょうか。 よろしくお願いします。
>>469 char file[256];
strcpy(file, "sample\\");
strcat(file, "input.csv");
if((fp=fopen(file, "r"))==NULL){(略)}
471 :
469 :2013/09/19(木) 02:45:42.97
>>470 ありがとうございます。
うまくできました!
472 :
448 :2013/09/19(木) 11:17:53.15
すみません。448です。 一応、下のコードで目的の物ができたんですが、何か問題ありますか? ド素人のコードなんで、手を加える部分がありましたら教えて下さい! 是非ご教授をお願い致します。m(__)m unsigned short a; // ここから8ビット中に1がどれだけあるか取り出す unsigned short b; // これに"a"の中にある1の数だけ代入 unsigned short c; for(c = 8;c > 0;--c) { if((a>>c-1)&1 == 1){ ++b; } }
int count8bit(unsigned char v) {
unsigned count = (v & 0x55) + ((v >> 1) & 0x55);
count = (count & 0x33) + ((count >> 2) & 0x33);
return (count & 0x0f) + ((count >> 4) & 0x0f);
}
http://marupeke296.com/TIPS_No17_Bit.html
474 :
448 :2013/09/19(木) 12:00:57.20
>>473 こちらのHPの説明は凄く分かりやすいです!
ビットの数だけループするよりも、まとめてビット演算すれば処理数と時間が稼げますね!
仕組みがまだよくわかっていませんが、もっと勉強してみます!
ありがとうございます!!
475 :
デフォルトの名無しさん :2013/09/19(木) 12:06:37.23
ヘッダファイルにifやforを書いて処理するのはアリなの? 良いことなの?
>>472 カウンタはshortじゃなくてintがいいと思う。
変数名もabcじゃなくて、bitcountとかiみたいのほうがいい。
ループも8から逆順にカウントダウンじゃなくて、
for (i = 1; i <= 8; i++) のほうが素直だと思う。
i <= 8 より i > 0 のほうが速いって話もあるけど、そんな最適化する
ような時代じゃないし。
477 :
448 :2013/09/19(木) 12:23:04.23
>>476 レスありがとうございます
こうした方がいいとか、ああした方がいいというのはド素人には凄く有難いです!
C言語は本当に奥が深く、人それぞれの考え方で色々なコードがあるのでとても勉強になります。
どうもありがとうございました!
for(i=1; i < 10; ++i)とfor(i=1; i < 10; i++)って動作違うの?
>>476 マイコンだからそんなヘボいことする余裕は無い
>>478 かわらないよ。
C++だと、++i のほうがいいって話もある。
++++++i; //OK i++++++; //NG
i+=3;
Unix でもWinでも使えるソフトが有るんですが、ソースコードのみの配布です どうやってコンパイルすればいいですか? vcxprojはありませんでした・・・
makefileが入ってるだろ?
INSTALLファイルが入ってるダルルォ?
叩けばいい
make make install
?
能書きがあるべ普通
通常、コマンドラインで「make」。makefileのファイル名が違う場合は「make -f 名前」。
MinGWはインストールしてるか?
してないです。 VSのみ。上記のやり方でやってみます ありがとうございました
Windowsしかやってないと中々触れる機会無いからなぁ Linux使っていると当たり前に出てくるが
496 :
デフォルトの名無しさん :2013/09/19(木) 21:56:40.69
Linux環境もないゴミか Linux環境使っててWindows環境がないなら分かるが Windows環境使っててLinux環境がないってまさにゴミじゃん
何かとゴミだのクソだの言うやつが一番それ
変数名の慣例について何ですけど size は配列全体のbyte数 length は文字列のヌル文字までの要素数 elems は配列の要素数 これで合ってますか???
そんなのあんの? 英語として正しいかならわかるが
500 :
デフォルトの名無しさん :2013/09/19(木) 22:52:58.00
すべてのファイルはrar形式が一番圧縮率が高いのに なぜzipとかjpegとか存在するんですか? rarだけじゃだめなんですか?
>>498 その辺慣例なんてないから、ドキュメントとコード見るしかない
新規で作るならnBytesとかnumElementsとか命名した方がいい
502 :
デフォルトの名無しさん :2013/09/19(木) 22:57:17.99
>>496 両立できないおまえ、超弩級のゴミじゃん
>>499 気になったんですよね
使い分けしてる・してないコードをたまに見かけるので…
ないの?
double k; do{ printf("input k (0 < k < 1):"); scanf("%lf",&k); }while( !( k > 0 && k < 1) ); 数字じゃなくてアルファベットを入れると、ループするときにscanf文が考慮されずprintf文が永遠に出力されます 型とは違う入力をすると挙動がおかしくなることはわかったのですが、 意図しない入力をされた時の対処はどうすればいいのでしょうか?
fgets
>>503 コーディング規則を調べてみたら
仕事ならプロジェクト毎の決めになるとおもうけど
バイト数をsizeって言うのは反対 c++のstl使うときに混乱する
ここCのスレなんで
>>505 wikipediaのscanf()の項目に詳しく対処法が載ってるけど、あれ覚えるより
fgets()で読んで sscanf()で変換とかのほうがいい。
>>506 ,510
教えて下さりありがとうございます
scanf()に問題があることはwikipediaをよんで理解出来ました
fgets(),sscanf()で変換したところ、kにアルファベット入力すると、kに凄い大きな値が入っていて、whileを抜けてしまいます
もう少し教えていただけませんか? お願いします
double k;
char str[32];
do{
printf("input k (0 <= k):");
fgets(str,sizeof(str),stdin);
sscanf(str,"%lf",&k);
}while( !( k >= 0) );
printf("%10.3f",k);
sscanfの戻り値をちゃんとチェックしろ
>>505 です
>>512 ググって調べたんですが、どうすればいいのか見当がつきません
すいませんがコードでこうすればいいって教えていただけませんか?
if (sscanf(str,"%lf",&k) != 1) { k = 99999; }
printf ("%f",a); printf ("%lf",a); これって区別する必要ありますか?
動作させてみればわかるよ
同じなんですが
いってよし
>>514 やっと理解出来ました!
何回も教えていただきありがとうございました
>>515 ないよ
でも大昔のコンパイラだと %lf は使えないかもしれない
>>497 わざわざ入門スレに来て、入門者相手にだけ吠えてる時点で察してやってくれ。
522 :
デフォルトの名無しさん :2013/09/20(金) 02:08:54.15
VisualStudio重いんですけどSQL関連はダウンロードしなくていもいいですかね? これって何のためにあるんですか?
5年くらいにはなるかなあ…
524 :
デフォルトの名無しさん :2013/09/20(金) 03:26:11.29
iframeタグは将来的に廃止されるから非推奨でobjectタグが推奨とのことなのですが、 iframeが廃止されるのは西暦何年くらいなのでしょうか?
>>521 はゴミをゴミと呼ばないらしいw
ゴミのことを何て言うんだろうなw
>>524 消える詐欺のだから消えないよ。
IT業界は上位互換が基本的だから削除はありえない思われる。
フレーム嫌ってる一部の人間たちが言ってるだけ。
>>533 が iframeの穴を突いたクラックを来年には完成させると言っているからそれまでの命だな
getsなどもいまだに消えてないわけだし
わくわく
534 :
デフォルトの名無しさん :2013/09/20(金) 19:30:33.97
もういっそ魔暦で統一すればいいのに (ぐははは
一度でいいから、女の子に怪物風に「ぐひひ、じゅるじゅる」って言ってみたい
536 :
デフォルトの名無しさん :2013/09/20(金) 21:15:26.31
JavaScriptとかこの世から消えればいいのに
JavaScript以外この世の中には不要。 JavaScriptほど高潔で神聖な言語は他に存在しない。 1000年後でも生き残っているのはJavaScriptしかないだろう。
C言語勉強したけど何もつくれなかったw
初VSで手始めに4000行くらいのVBプログラム組んでるんですが、 Cをやると気取った顔が出来るでしょうか?
>>536 最近サーバーサイドでjavascriptとか言ってるな。
普及しないでほしいわ。
>>540 リッチクライアントのことをいってりして
>>539 気取った顔したい奴がやるのは関数型言語だろ
F#でも書いてろ
>>545 やっぱ一部のとがった企業が使ってるだけなんだな。
せめて3年ぐらい前なら普及してないとも言えたんだがな
導入事例を集めてる段階だからまだまだでしょ。
まあ普及してないと思ってればいいんじゃないの 遊びでやってる人には情勢とか関係ないしな
何のためにJSをサーバサイドで使うの? メリットとかあるの? JSなんてそもそも不完全で分かりにくいものをサーバサイドに入れるとか不安だな
551 :
デフォルトの名無しさん :2013/09/20(金) 23:33:03.90
ヴァカがプログラマー気取りてウンコシステムを量産しないようにサーバーでは多少難しい言語で作ったものしか使えないようにすべき
君は有用性を認めたくないだけだろう? 理解できてないわけではないだろう?
javaは、これ実用になるの?みたいなことを言われていて、10年も しないうちにサーバーサイドで当たり前に使われるようになってたけど node.jsはそこまでの勢いとか感じない。
JavaScriptはサーバサイドは厳しいと思うんだけどなぁ 出来ないことはないとは思うけど
556 :
デフォルトの名無しさん :2013/09/20(金) 23:46:11.63
JavaScriptがサーバサイドで厳しいことはない。 むしろクライアントとサーバーで同一言語で統一され優しくなる。
>>556 いや、不完全でしょ、JavaScriptなんて
でも良い所もあるし、そっちの方だけに特化してればいいと思うよ
PHPの方がいいよ
>>555 マジだな
サーバサイドでJava人気ないのか...
558 :
デフォルトの名無しさん :2013/09/20(金) 23:49:20.32
動的型の言語がすかんから、クライアント側でもjavascriptが使われなくなればいいと 思ってるけどそれは無理っぽいな。 TypeScriptみたいなトランスレーターがせいぜいか。
JavaScriptって何か組みにくい。 Cなら楽だしミスも少ないがJavaScriptではなぜかミス頻発。 2〜3行書くたびに不具合出るからイライラする。 ハゲそう。
561 :
デフォルトの名無しさん :2013/09/20(金) 23:54:08.70
>>559 それ思うわ
JavaScriptの代わりにC言語をそのままインタプリタ的に動かせるClient Side Cみたいなのができればいいのに
562 :
デフォルトの名無しさん :2013/09/20(金) 23:55:59.66
JS撲滅運動を展開しよう!!!!
ハハハ 俺JS歴まぁまぁあるけど、あんま好きじゃないもんな 最近はめんどくさいからjQueryとかで済ませちゃったり 各言語クセがあるけど、JSはあんま好きじゃない Pythonはもっと好きじゃないけどw
564 :
デフォルトの名無しさん :2013/09/21(土) 00:04:24.87
565 :
デフォルトの名無しさん :2013/09/21(土) 00:10:13.82
>>564 で、スクリプト言語系ではjavascriptは最速だろう。
仮にPHP拡張モジュールの関数が全て取り込まれればPHPを使う価値は激減する。
静動それぞれ別にネイティブとバイトコード出力がベスト Objective-Cのパワーアップバージョンみたいな
567 :
デフォルトの名無しさん :2013/09/21(土) 00:18:01.27
Objective-C系って案外分化進化しなかったよね コンパイラの設計が難しいのかな
ま、どうでもいいけどオナホール買ってみたw 届くの楽しみ
>>564 フィボナッチはテンプレート使えばC++が最速だろうな。
571 :
デフォルトの名無しさん :2013/09/21(土) 00:37:00.43
JS撲滅運動を展開しよう!!!!
CにとっておきかわるのがJS 数年後にはJSでOS開発が始まる
ブラウザによって挙動の違うゴミJavaScript
575 :
デフォルトの名無しさん :2013/09/21(土) 00:52:39.13
>>573 だからサーバで使うんだよ。
もはやC、PHP、Perl、Javaの時代は終わった。
JSは完全なオブジェクト指向だから面倒 オブジェクト脳じゃないと無理だろ
577 :
デフォルトの名無しさん :2013/09/21(土) 01:05:40.73
お前らC厨って文字列の分割どうすんの?W STRSTRとかで探してはメモリ確保してコピー?W ダセえW JSなら、文字列.SPLITで一発W 開発効率すら考えられないようなC厨はこの先生き残れないよW
簡単にJSに変換できちゃうようなヌルいC使いが集うスレと聞いて
579 :
デフォルトの名無しさん :2013/09/21(土) 01:06:51.61
>>572 煽っている熱意も目的もわかるんだが
煽られている者は皆無だよ…
ブラウザがどうのってボケかまして
フォローしてくれてる人がいるけど、
(奇しくも)575 は、突っ込むどころか
とどめを刺している
あら不思議、茹でる前から、真っ赤っか
575 が作る「サーバー」が何言語で記述
されているのか、見物だねえ
聞いたことある言語だったら殴るぞ
大ヒットゲームのクッキークリッカーもJSで書かれてるし、JS最強だわ。
サーバーを記述?
Pythonで書かれたPython処理系のPyPyは、Cで書かれたPythonより早いらしいし、 JSの処理系もJSで書いたら爆速になるはず。 もうCは使う必要ないな。
JavaScriptは3D扱えないからこの世に不要
584 :
デフォルトの名無しさん :2013/09/21(土) 01:13:44.67
データベースも使えないJavaScriptで鯖サイドだってよ 何作ってるんだろうな じゃんけんCGIか?w
nodeならサービス部分記述するだろ フルスタックが基本だし
586 :
デフォルトの名無しさん :2013/09/21(土) 01:15:06.75
>>581 何を驚いている?
おまえが驚いたその一文は現実そのままだが
587 :
デフォルトの名無しさん :2013/09/21(土) 01:17:01.46
JavaScript使うくらいならHSPのほうがいいだろ
ものすごく頭が悪い釣り 何が楽しいの?
なんか1人見えない敵と戦ってるやつがいるな
jsってソケット通信できないじゃん。 だったら全画面flashでいいよ。
592 :
デフォルトの名無しさん :2013/09/21(土) 02:30:52.12
JavaScriptがなければ今のウェブサービスを中心としたIT業界は成り立たないのにそれが分かってない馬鹿大杉 Google開いたときに検索窓でキャレットが点滅してるのが何のお陰か知らないんだろ
593 :
デフォルトの名無しさん :2013/09/21(土) 02:40:52.38
余計な事に手間かけず alt="text" を必ず入れて tabindex も定義しとけと言いたい。
595 :
デフォルトの名無しさん :2013/09/21(土) 04:14:20.09
LINKタグの最後にスラッシュ入れない馬鹿も許せない。
596 :
デフォルトの名無しさん :2013/09/21(土) 04:58:13.54
Ajaxで読み込んだ内容をdivのinnerHTMLに入れたんだけど、 入れた内容のうちHTMLはちゃんと表示されるがJavaScriptが実行されない。 同じ内容でも普通にページ読み込んだ場合は実行されるのに。 マジで糞。
値を渡すのかアドレスを渡すのか選択できない時点で
C言語は型が存在するためデバッグが容易だ キャストなしで違う型やアドレスを入れようものなら即座にエラーとして顕在化するため 問題箇所がすぐに発見できる 一方、JSは変数に数値だろうが文字列だろうが配列だろうが突っ込めるため エラーが発生するとどこから来たどんな型の値が入っているかから調べなければならない また、変数の宣言が必須ではないため、 スペルミスをしても新しい変数が作られエラーとして顕在化しない これらの仕様が開発効率を著しく低下させる原因となっている よってこのような言語は使用すべきではない
599 :
デフォルトの名無しさん :2013/09/21(土) 06:15:00.29
スクリプト言語で型を決めないと使えないのが少数。
600 :
デフォルトの名無しさん :2013/09/21(土) 07:45:02.55
<table class="tb1"> <tr> <td> <table class="tb2"><tr><td></td></tr></table> </td> </tr> </table> そんなことよりこの中のテーブルにtb2が反映されない意味不明仕様をなんとかしてくれ。
>>598 それ、単体での機能試験を場当たり的にやってると起きる、低レベルの問題だから。
言語の型云々以前の問題。
>>600 class="tb2"を消して
style="〜"で書けば適用される
一つ2つならいいけどたくさんあったら面倒だろそれ
質問です。 HTMLの一番最初のDOCTYPEは必要なのでしょうか? DOCTYPEを書かなくても全く問題なく動作するのですが・・・・・
スレタイ100回読んでからPCぶち壊せ
ついてればそれにしたがってブラウザが挙動を変えたりする
607 :
デフォルトの名無しさん :2013/09/21(土) 14:04:36.31
>>604 飾りみたいなもんだよ
HTMLはどうせHTML4か5で書いてんだろ?
DOCTYPE書いてなくてもブラウザもだいたいHTML4か5で動くから問題ない
大昔のブラウザなら何か問題あるかもしれんがそんな大昔のは切り捨てておk
大昔でなくともサードパーティ製の怪しいブラウザは切り捨ててよい。 シェアの少ないクロームとかファイアフォックス辺り。
>>604 質問です。
HTMLの規格はなんでしょうか?
Androidってクロームじゃないのか
612 :
デフォルトの名無しさん :2013/09/21(土) 15:29:10.61
613 :
デフォルトの名無しさん :2013/09/21(土) 16:34:04.69
見ただけで女がビショビショ濡らして股を開くようなイカすコードを教えてください!!
615 :
デフォルトの名無しさん :2013/09/21(土) 16:50:13.71
>>609 ワロタwwww
目がチカチカして頭痛くなってきたwww
謝罪と賠償を(ry
node.jsを知らないやつ多いな
知らないやつもいるし、PHPやJavaなみに普及してると思ってるやつもいるし、世間のことに関心ないやつ多いな。
>>616 しらなくてももうまんたい
サーブレットとJSPを知らないと問題外だが
Cにしがみついてるのは時代に取り残されちゃった原始人だけだからね もっと自信もって羽ばたいてもいいんだよ
C抜きで電子機器が成り立つかよ
別にCを否定してるわけじゃない Cだけやってないで他のモダンな言語の1つや2つやってみろと言いたいだけだ CだけやってるやつはCがあればなんでもできると他を受け入れられないC至上主義なのが問題 開発効率の悪さを開発効率が悪いのはコードが洗練されてる証拠だと強がりハード性能の向上を受け入れない ゆえに時代に取り残された原始人と揶揄したのだ
622 :
デフォルトの名無しさん :2013/09/21(土) 19:19:37.66
>>619 おまえが言っているのは、せいぜいCMOSかTTLだろ
シングルエンドと差動も知らねえ、マンチェスタコードなんか聞いたこともなく
通信路が輻輳してもモニタみて「統計」するだけな脳みそタランチュラ
今やCは多相クロックで同期する言語で、おまえなんか逆立ちしても無理
土方臭がプンプンするスレですね
スレチを続けている自覚の無い奴らだから
などといった高度な身元偽装技術を駆使していることから 警察では組織的な犯行の可能性が高いと見て、 外務省などの応援を求めるとしています
結局Cの助けなしには何も出来ない言語が多い
だがしかしそれらの理由と俺がCしか使えないこととの間には いっさい関連性はない
Cしか使えなくたって困ってないならいいじゃん。 必要になったらその時に覚えればいいんだし。
>>618 JSPなんて完全にオワコンじゃねーか。
631 :
デフォルトの名無しさん :2013/09/21(土) 20:00:50.95
JSの実行環境は何言語で作られているんですかねぇ?wwwwwwww C言語をバカにするってことはセキュリティホールだらけのJSもバージョンアップしなくていいってことですかね?wwwwwwwww
#include <stdio.h> #include <math.h> int main(){ int p, a, i; unsigned long long resolt; p = 7; a = 3; for (i = 1; i <= 24; i++){ resolt = pow(a, i); resolt %= p; printf("%5d ",resolt); if(i % 6 == 0)printf("\n"); } } 「resolt = pow(a, i);」を「resolt = pow(a, i) % p;」とすると、 「primitive_root.c:10: error: invalid operands to binary %」と言われます 上記のようにpowと%を別々に演算するとコンパイルできるのですが、なぜでしょうか?
少なくともCではないな。
635 :
女子高生 :2013/09/21(土) 20:05:42.61
あらやだ!なんてイヤラシイ話ししてるの?ここのオジサンたちは! AとBを抜かして一気にCまで行っちゃうなんて変態!
636 :
デフォルトの名無しさん :2013/09/21(土) 20:06:19.78
鯖サイドで使われてるJavaScriptにはブラウザ間の挙動の違いみたいなわけのわからない差はないの?
>>637 そりゃ処理系はサーバーにあるひとつだけだからな。
639 :
デフォルトの名無しさん :2013/09/21(土) 20:22:30.40
サーバによって挙動が違う。
640 :
632 :2013/09/21(土) 20:23:03.32
>>634 pow()を使うとdouble型になって、%が使えないってことなんですね
resolt = (unsigned long long)pow(a, i) % p;
にしたら一行でいけました
教えて下さりありがとうございます
>>630 ごめんね、node.jsなんてしらねー、適当にレスしただけ
642 :
デフォルトの名無しさん :2013/09/21(土) 20:45:18.05
言語と実装と環境はわけろ。 言語の話に別の話が混ざってる。
ポインタのサイズによって処理を分岐するにはどうすればよいでしょうか? C言語レベルならsizeof()演算子を使えばよいのでわかるのですが、 プリプロセッサレベルで分岐したいのです。 プリプロセッサレベルでポインタのサイズを取得する方法がありますか? autoconf等を使うというのは駄目です。 (既に存在しているコード群で、Makefile等を全面的に書き換えられない)
644 :
デフォルトの名無しさん :2013/09/21(土) 20:50:28.95
いやぁ、言語と実装は相互作用するなって言われちゃうとねえ ええー? sizeof? 何ですかそれ
プログラムが書けない教授のうざさは異常
ポインタのサイズを調べるプログラムを実行した結果をコンパイラに渡す
何の教授だよ 文系なら書けなくても不思議じゃないし 理系でも医・薬系なら書けなくても不思議じゃない
>>642 何で分けるんだよ、その全てが相互に関係してるし、そのうちのどれか一つが欠けても動かないのに。
649 :
デフォルトの名無しさん :2013/09/21(土) 21:00:06.92
vc++でアプリ作ったけどvc++入ってるパソコンじゃないと動作しないの? .dllファイル一杯ダウンロードしたけど結局ダメだった。 テンプレートは何にしたら移植できる?
650 :
デフォルトの名無しさん :2013/09/21(土) 21:01:13.84
HTML5って実際どうなん? 一部のIT大手しか移行してないように見えるが
YouTubeとかHTML5だろ
html5で恩恵を受けてるのは一部のウェブヲタだけ。 あとはめんどくさいから移行してない。 doctypeにhtml4.01指定しとけばそれで問題ないし。
>>649 ReleaseじゃなくてDebugでビルドしたままというオチだろう
654 :
デフォルトの名無しさん :2013/09/21(土) 21:09:55.81
HTML5の良さ(すごさ?)が分かりやすく書いてあるサイトってないの? そういうのを調べると退屈な仕様書か、 ウェブデザイナが作ったFLASHへの対抗意識丸出しオナニーダイナミックサイトしか出てこないんだが。 オナニーダイナミックサイトも確かにすごいとは思うけど、 求めてるのはそういうすごさではなくて、 なんかもっとこう、便利さ方面の情報が欲しいっつーか。
655 :
デフォルトの名無しさん :2013/09/21(土) 21:11:25.68
>>653 うん?
Releaseだとdllファイル一切いらないのですか?
node.jsはV8 んでこいつはC++でできている
Cは低レベルすぎてダルビッシュ C#やろうぜお前ら
C♭やろうぜ
C#やるくらいだったらjavascriptやるわ
660 :
JavaScript撲滅委員会 :2013/09/21(土) 21:38:01.31
JavaScriptの利用をやめよう!
node.jsでビジネスはこれからの流れ。 javascript否定して食っていけると思うのか。 何 ここはCのスレだ? そんな遺物は忘れちまったわい! js話題でいこうぜ。
HTML5とJavaScriptでFLASH相当のモノが作れるようになるって認識でいいのかな
663 :
デフォルトの名無しさん :2013/09/21(土) 21:44:20.93
PHPのZend opcacheは、JITコンパイルに匹敵するのか?
JavaもCと同じように淘汰されつつある オラクルに買収されてセキュリティ問題抱えて一気に衰退しちまったな C Java COBOLの墓標を作ってやれ
>>662 ものによるけど別にhtml5 canvas使わなくてもflashっぽいサイトは作れる
>>661 サーバーサイドはPHPとJavaと.netで90%以上で、残り数パーセントを他の言語で分け合っていて
node.jsなんて、その中でRuby、Pythonに続いて三番手だろ。
>>665 じゃぁ・・・結局HTML5のメリットはどこなんだ?
>>655 スタティックライブラリを使ったアプリなら動く。サイズが大分おおきくなるが。
なんで急にHTML5の話がでてるんだ。 javascriptとごっちゃにしてるのかね。
以前はvcのexeが必要なdllはwindowsに最初から入っていて、スタティックリンクとか 考えなくてよかったけど最近はそうでのないのかね。
JavaScript勉強し始めたんやけど、ブラウザによって挙動が違うってホンマやねんな マウスの位置取得するのとか違うしなんやこれ これいちいち判定するif文書くのだるいわー
audio videoとか今までWindowsMediaPlayerやQuickTimeなんかの外部プラグインで再生してたのが必要じゃなくなったり jsだけの描画よりcanvas使ったほうがたぶん早いし自然だし クッキーより容量が多いwebstorageでローカルに大容量保存できるし websocketとかでajaxとかでやってたプル型のポーリングが不要になってプッシュ出来るようになるし ってこれはhtml5から切り離されたらしい とにかく大量の画像や音楽が必要なゲームとか作る場合は断然有利
スレタイ読めますか? 大丈夫ですか?
はい、俺って誰ですか?きっと最初にスレたてた俺の中の人はもういないので好き勝手やっていいんだよね
WebGLとかもあるからブラウザは3Dゲームのプラットフォームになりつつある
日本語分かりますか? 通じてます?
WebGLはCライクだからお前らの出番だな
680 :
デフォルトの名無しさん :2013/09/21(土) 22:20:20.51
>>672 普通はブラウザ間の差異を吸収する関数から作る。
例えばそのマウスの位置であれば生のデータにアクセスするのではなく、
GetMouseLocation()みたいな関数を作り、
この関数の中でブラウザごとの生のデータを取得して、
配列なりオブジェクトなり一意の形式にして返す。
そうすれば後はGetMouseLocation()を呼び出すだけで取得できるようになる。
>>677 ブラウザでゲームするのなんてごく一部のライトユーザーだから
3Dゲームガリガリ使ったゲームなんてしないんじゃないかな
軽いエロゲーみたいなやつができれば十分だろ
そういう風に環境に依存するところを括り出して、本体を非依存にするのはCでも常套手段だな。
>>681 数年もすればDirectX9時代のゲームなら普通にブラウザでストレスなく出来るようになるんじゃね?
今でもスペックによってはそこそこ動くかもしれない
将来的には今あるようなMMORPGの開発プラットフォームになるかもしれない
特にgoogleは戦略的に割とその気なんじゃない?
684 :
デフォルトの名無しさん :2013/09/21(土) 22:28:23.46
ヘッダファイルにifやforを書いて処理するのはアリなの? 良いことなの?
そういうライトなゲームが日本のゲーム業界を壊滅させてるんじゃないのか。 スマホのカードゲームとかシェアはかなりあるけど、技術的に発展する要素なんて皆無だし、システムだけならそこらの大卒でも組める。 ほとんど宣伝活動の功績。 こんなことやってて発展するわけないだろう。
686 :
デフォルトの名無しさん :2013/09/21(土) 22:31:10.77
>>683 ただでさえパソコンの普及で据え置き型ゲームハードの売れ行きが伸び悩んでるのに
ブラウザゲーが中心になったらそれこそ終わりだろ
>>686 残念ながら終わりです!今もスマホに苦戦してるしね
>>674 >>678 最近、この手の人間(特定少数のほぼ同一人物なんだろうけど)がこの板で目立ってる。
技術系の板は比較的良識ある方だった気がするんだけど、こういうのが野放しになって
きているのは、良質な参加者が去り、全体的に劣化しているのと、
もうひとつは流出事件にも象徴されているように、管理側の怠慢が徐々に蓄積されてるのも
原因だろうと思う。
別にゲームは技術の発展が必須なわけじゃないからね 単に競争の一手段にすぎないわけだしね
ああいうソーシャルなゲームは鯖側の技術というかノウハウはけっこう発展してるんじゃないの?
日本語を読めない人がコピペしてるってことか
>>691 言語としての日本語は読めるんだろうけど、
他人の意思とかを文章のやりとりの中で読み取る能力に欠落した、
読解力コミュ障みたいな人はネット上では珍しくないよね。
まあ、そういうことだ。
金儲けのノウハウの発展はめまぐるしい
>>692 かつて恥ずかしい発言を流すために連投しまくる馬鹿がいた
そいつがコピペしてるんだと思う
「ぼくのぷろふぁいりんぐけっか」を垂れ流してる老害のほうが酷い 今時スレ違いとか時代遅れの猿か?w
>>691 そうだよ。
大量のリクエストを処理し続けるバックエンドはかなりのもの。
どちらかというとハード側のノウハウだな。
物理的な1台の鯖じゃ処理しきれないから、バックエンドの各種データベースをどう管理するかとか
それとフロントエンドをどうつなぐかとか。
コピペとバックエンド技術との切磋琢磨 まで読んだ
この荒らしは前から何度もやってる馬鹿だぞ プロファイリングというなら入門中の入門だろうな
まとめるに、コピペ荒らしじゃなくてガチキチ?
700 :
デフォルトの名無しさん :2013/09/22(日) 00:30:05.59
バックエンドってサーバのことか? CPUやメモリといった基本性能は上がってるけどシステム的にはそんなに発展してない
>>677 スマホってWebGL対応してるのかな、、、
スマホっていうかブラウザの対応だからしてるっちゃしてる 重そうだしちゃんとスマホで期待通りに動くかは知らないけど
ここもhogeスレと同様になっているな
hogeスレはhogeが出なければ平和なもんだろ。 こっちは少々状況が違う。
705 :
デフォルトの名無しさん :2013/09/22(日) 01:41:25.88
hogeスレって?
zabadakいいよね
ここはちょっと前から時代に乗り遅れな老害たちがコピペだのキチガイだのってレッテル貼って暴れてる 昔と違って一つのシステムやアプリケーションを構築するのに複数の言語やDBなどを使うこのご時世だが、老害共は未だに言語別縦割り思考 だから例えば、C言語で開発中のアプリケーションでローカルにDBを持ってウェブサーバにデータを送ってCGIで処理した結果を受けとる、って内容のシステムでも、 言語の部分の話しか受付けないからそこをウェブIFにしたほうが楽なシステムだったとしてもそういう柔軟な発想も回答も出てこない トータルプロデュースで最適化をはかる時代に言語に固執する老害共、言語は道具だ、多くの開発者は老害共と違って道具を使いたいんじゃねーんだよ、システム開発がしてーんだよ C言語以外の最適解があるならそっちを使いてーんだよ、その老朽化した脳で理解できるか? これは別にC言語に限った話ではない、ただこのレガシーな言語のスレからでも時代に合致したトータルプロデュースの潮流が生まれようとしてるのに その芽をいちいち摘むような真似はやめろ、言語に執着して人の足を引っ張って楽しいのか
何言ってるかちょっとわかんないですね
先に行っておく。
>>708 を読み飛ばすな!
ちゃんと読んでくれ。
711 :
デフォルトの名無しさん :2013/09/22(日) 02:46:20.77
専ブラであぼーんした。
Cがいいにきまってるやん。あほとちゃうか
713 :
デフォルトの名無しさん :2013/09/22(日) 04:16:47.52
どないやねん
それちゃうちゃうとちゃうで
>>708 そんな用途にはグルー能力に富んだ Java なりをつかっておればいいのであって、C で強行するとか主張するほうがどうかしている。
言語って一般的にCとかC++から作られてるんですよね? じゃC言語は何から出来てるんですか?機械語ですか?
>>708 それともあれか?
いくらphpに通暁していてもCがわからないようでは相手にされないのにいらだっているのか?
それは当然だがね。Cすら分からん奴に任せられるかね?
>>716 C処理系は普通Cで記述されるとおもいます。
クズは失せろ
720 :
デフォルトの名無しさん :2013/09/22(日) 05:46:36.13
朝から景気のいいあぼーん連発w ほんまに片山はどうしようもないやっちゃなw
721 :
◆QZaw55cn4c :2013/09/22(日) 05:47:44.70
テスト
#define系のいろんな黒魔術が載ってるサイトとかってないですか
そういう目的なら C++ 一択じゃろ マクロじゃなくてテンプレートになるけど
bsd系のsys/queue.hがわりと面白い
>>716 一番最初のCコンパイラはアセンブラで書いてると思う。
一番最初のC++コンパイラはCで書いてると思う。
根拠は?
他に手段が無いからだろう
Wikipediaにも「ブートストラップ」って項目があるな
#define の黒魔術といわれても… 連結をつかった生成的=generic なやりかたぐらいか、すぐに思いつくのは。 あと#if 0 sed とかまでならしたけど m4 はないなあ、脱線ごめん
typedef double pos_data[1024][2]; とかってやると、新しく型を作ると コード書いてる時に時々ことが、型なのか変数なのか分からなくなってくるんだけど なんかいい名前の付け方ない?
733 :
デフォルトの名無しさん :2013/09/23(月) 02:10:19.51
そんな使い方はじめてみた。 doubleはそのままで使う時だけ[1024][2];で確保すれば。
そんなことより = で代入できないものを型と認めるのに抵抗がある xxx_t a, b; なら a=b; で代入できて欲しい
>>735 typedef structも、そんなこと出来ないじゃない
C言語の限界ですわ
特に理由がない特殊な使い方なら、 自分(たち)でわかるように付けりゃ良いだけって気もするが・・・
738 :
732 :2013/09/23(月) 02:30:29.41
func(pos_data *p) とかして使いたいのもあるし こうしとけば x = p[ num ][ 0 ]; y = p[ num ][ 1 ]; てのが分かりやすいと思ったからなんだ x = p[ 2 * num ]; x = p[ 2 * num + 1 ]; よりは、前者の方が使いやすい気がする あとmatrix[512][512]とかやったときに縦横変えた時に混乱したくないし sizeofとかで要素数計算して引数に入れたりとか、なんかコード汚いから抵抗がある
740 :
デフォルトの名無しさん :2013/09/23(月) 02:35:15.27
>>727 cfrontを調べるとC++のトランスレータがない状態からC++で書かれたトランスレータを
ブートストラップしていったことがわかるよ〜
コンパイラは書いたことがないけど、パーサジェネレータ書いたことがあるよ〜
その時入力を解析する部分はブートストラップしながら作っていったよ〜
個人的にはでかい固定配列はスタックがやばくなる悪夢から立ち直れていないので 使うなと言いたい
742 :
デフォルトの名無しさん :2013/09/23(月) 02:38:23.43
classとメンバつかえ
744 :
デフォルトの名無しさん :2013/09/23(月) 03:14:28.91
計算機学の授業受けてて Cのコンパイラとインタプリタを作ってみたいなと思いました。 どっちが大変ですか?インタプリタのほうが断然作りやすくサンプルも 多いのですがコンパイラのほうは作り方が分かりません。Cはコンパイラ 言語なんですが、例が無いのは高度だからでしょうか?
メモリが少ない時代は再帰下降パーサーの吐いた中間コードをファイルに出力してたろ 今はメモリが十分にあるので全部メモリ内で処理してるけど 機械語へのトランスレータは簡単だけど最適化には手を出すなよ 死ぬぞ
こんなの普通に書くんですか? ( *++argv )[0] もう何がなんだがわかりません><
どこが難しいんだ main()の引数は int argc, char *argv[] となってるだろ その通りに書いてあるだけだが ただargvをプリインクリメントしているだけ カッコが付いているのは配列演算子の優先度が逆参照演算子より高いから 逆参照演算子を優先させるため
>>748 嘘つけ
int main(int argc, char *argv[])
{
char *p = *argv;
char c = (*++argv)[0];
printf("%s %c\n", p, c);
return 0;
}
こういうプログラムに引数例えば"1 2 3"を与えて実行させると、%sの所にはプログラム名自身が、
そして%cには'1'が入る
「普通に書く」の意味が理解できな人が来たw
屁理屈はどうでもいいんで
>>749 のプログラムにはどこにも間違いがないだろうが
argumentの状態をお気軽に変えるのは間違い
どう間違いなのか説明してもらおうか
「変えてはいけない」ものならconstが付いてるだろうが 付いてないという事は「変えられても仕方がない」という事だ *argv[]の構造をちゃんと分かっているのなら、別に変えても構わない 心配ならargvを他の char **p などに代入し、そちらを使って操作しても構わないが 後からargvを参照する事がないのなら変えてしまっても何も問題はない ISO/IEC 9899_1999 に、「argvはお手軽に変えるのは間違い」とでも書いてあったのか?
間違いがないからといって、普通とは限らない
char **argv を書き換えるなんて普通に日常茶飯事なんだけど
char **argv を書き換えるなんて普通に日常茶飯事なんだけど
char **argv を書き換えるなんて普通に日常茶番事なんだけど
>>755 だから根拠を示せと言ってるだろう
お前の価値観を押し付けられても何にもならないんだが
K&Rでは美徳とされたようなポインタ演算も、今やクソコード扱い・・・ まあ(*++argv)[0]くらいなら、定石として覚えておけばいいんじゃないでしょうか
>>760 価値観?
なに言ってるんだろう、この人。
ただのローカル変数だもの。変えて良いに決まってる。
>>729 Cで書いて、スクリプト言語で、アセンブラソースに変換
っていう方法もありそうだな。
>>744 コンパイラは作るだけなら簡単だが、最適化とかを真面目にやらないと
存在意義が無い。
遅くて無駄だらけの機械語を吐いても意味無い。
プロセッサによっては、最適化ありきの設計になってる事も多い。
>>762 わからないのは、Argvは触るなと主張するお前さん、死ね
767 :
デフォルトの名無しさん :2013/09/23(月) 10:46:09.61
自殺教唆きたー! 自殺教唆は親告罪じゃないからなw
死ね死ね死ね死ね
>>766 > Argvは触るなと主張
誰の主張?
ひょっとして触ることと、書き換えることの区別もついてないとか? (w
>>769 お前さあ、屁理屈ばかり言ってないでプログラムでも書いてろや
議論の応酬をしたいのならマー板にでも行け
ここはム板だ
771 :
デフォルトの名無しさん :2013/09/23(月) 12:22:30.46
もう反論できないのに書き込まずにいられない
>>770 が哀れでw
>>771 ×反論出来ずに
○呆れて反論する気も起きない
人間文句を言われているうちが花だ
完全にスルーされるようになったら終わり
>>766 勝手に変なレスし出して、何なのこれ
分裂病?
774 :
デフォルトの名無しさん :2013/09/23(月) 12:57:12.63
まぁ平気で自殺教唆するような奴だし 自殺教唆でしょっぴかれたらご両親もさぞお喜びになるでしょうw
>>761 Java, c# の風習ですかね、確かに、渡ってきた参照を弄くるのは、あちらの文化ではまずいとするのかも、よくしらないけど。
>>775 自殺が刑法、民法、商法その他成文法上に罪として記述されているのならその幇助または教唆は概念として存在できるのだが。
自殺はどの法に反するのか?
776 :
デフォルトの名無しさん :2013/09/23(月) 15:21:22.76
以下のようなコードがあったとする for(i=0;i<100;i++){ /* コード20行 */ } この20行のコードの最後に、変数xによって二分岐させたい部分が1行だけある この場合、コードの見やすさを優先すべきか、処理効率を優先すべきか コードの見やすさ優先 for(i=0;i<100;i++){ /* コード19行 */ if (x==0) /* 処理 */ else /* 処理 */ } 処理効率優先 if (x=0){ for(i=0;i<100;i++){ /* コード20行 */ } }else{ for(i=0;i<100;i++){ /* コード20行 */ } } 但し、QZはNGに追加してある
777 :
デフォルトの名無しさん :2013/09/23(月) 15:23:12.06
法に反する(構成要件に該当する)だけでなく、違法で有責な行為でなければならない レスアンカー外すのは、 銃を撃って当たらなかったような障碍未遂もしくは アホすぎてもともと無理という、不能犯に等しい
>>776 どっちを優先させたいのか、目的によるだろ。
>>776 関数ポインタ
functor = (x == 0) ? functor1 : functor2;
for(i=0;i<100;i++){ ... }
>>776 そんな最適化しても早くならんでしょ。
ベンチマークでそのコードをすごい回数実行させて微妙に早くなるだけ。
(自殺関与及び同意殺人) 第二百二条 人を教唆し若しくは幇助して自殺させ、又は人をその嘱託を受け 若しくはその承諾を得て殺した者は、六月以上七年以下の懲役又は禁錮に処する。
>>780 何この便利機能。
JavaScriptか?
関数ポインタ呼び出しのオーバーヘッドが問題になったからC++ではtemplateで 目的のオブジェクトに一番効率のいいコードを吐くSTLが取り入れられたんだろ C++11で更に改良されてるし
789 :
デフォルトの名無しさん :2013/09/23(月) 15:56:02.76
ム板の肥溜め晒しage
790 :
デフォルトの名無しさん :2013/09/23(月) 15:56:32.02
C++ と認識すな、ぼけ このスレでは未宣言の識別子だ
>>612 君の書く内容もJavaScriptが有用だね。
分岐予測とかいうテクニックでコンパイラが勝手に高速化してくれるんじゃねえの ていうか実際に処理速度の違いを計測したのかと
C99こそそれこそ「いらない子」
FreeBSDでもc99の機能使われてた希ガス
>>782 これは参ったね。いわゆる尊厳死問題か。
>>793 関数のポインタはinlineにできないだろ
799 :
デフォルトの名無しさん :2013/09/23(月) 16:41:08.75
>>798 std::sortの比較関数オブジェクトはどうよ
まずその前にtemplateでそのオブジェクトに一番効率の良いコピーにされてしまうが、
関数オブジェクトもコンパイルオプション次第でインライン化される
特にラムダ式を使うと必ずインライン化されてしまう
CALLはCPUにとってもパイプラインバブルが生じやすい重い処理なんよ
投機実行でかなりそのデメリットは打ち消されているが(条件CALL命令のない
CPUの方が都合が良いわけだ。でもプレディケイト予測があるCPUはまた少し違うが)、
Cのqsort()とベンチマークを取ってみればどちらが正しいかなんてすぐに分かる
一応簡単な設計してから書いたプログラムとかで、 しばらく組んでみたら関数の分け方とかがたまに予期してないほど効率の良い設計になって、 うっひょー!俺って天才!いや、天才じゃねえ、ただの運だ!でもサクサク進んでテンションあがるううううう!やべええええwwwwwwwww ってなるときがあって、 どう考えても設計の段階では思いもよらないほど完璧なプログラムなんだけど、 まさに運だからいくら頑張ってもそういうプログラムが組めない。 むしろ頑張らずに書いてるとまぐれで出る。 こういうプログラムを常に書きたいんだけどどうすればいい?
801 :
デフォルトの名無しさん :2013/09/23(月) 16:46:23.21
くらえ! 奥義パイプラインバブルっ!
804 :
デフォルトの名無しさん :2013/09/23(月) 16:56:17.70
卑しいの話だ
>>776 基本見やすさ優先
て言うか、下は保守性も犠牲になるので、どうしてもと言う時だけだな。
最近はそんな機会まずないが。
>>776 関数にまとめた方がいいんじゃね
void func1(void)
{
int i;
for (i=0;i<100;i++) {
/* コード20行 */
}
}
void func2(void)
{
int i;
for(i=0;i<100;i++){
/* コード20行 */
}
}
:
if (x=0){
func1();
else
func2();
すまん、こうか void func1(void) { /* コード20行 */ } void func2(void) { /* コード20行 */ } : func1(); for (i=1; i<100; i++) func2();
全然違うわ、すまん
>>806 やめろ。
マクロにするならまだしも、同じコード書くとか最悪。
/* コード20行 */ をマクロにしたい症候群だわ gnuのコードで結構マクロ化して呼び出してるのあるよね
if分岐一回程度のコストなんかたいした事ないよ。 それ以外で関数コールしてるとかの方がコスト大きい。
とりあえず保守性だけ考えとけばいいんじゃね? 効率は実際に満足できなかった時だけ考えれば。
813 :
デフォルトの名無しさん :2013/09/23(月) 17:58:51.82
昔とちがってマルチコアのパソコンはifが速度低下の大きな原因になる。無駄にメモリ使ったとしても分岐を減らすほうが速くなりえる。
最近のCPUは、処理速度を上げるためにパイプラインという技術を使っている。
このパイプラインという技術を使っていると、同じような命令が続いているときは効率がいい。
しかし、作業内容が変わると途中まで行っていた作業がムダになってしまう。その分、効率が落ちる。
分岐をCPUまたはソフトが予測して、なるべくパイプライン処理のムダを避けようというのが分岐予測という技術だ。
http://www.nttpc.co.jp/yougo/%E5%88%86%E5%B2%90%E4%BA%88%E6%B8%AC.html パイプライン処理 - Wikipedia
制御ハザード(分岐ハザード)
分岐命令がある場合、結果によって次に実行するべき命令がわからないため、パイプラインを止めて次に実行すべき命令が判明するのを待たなければならない。
これを制御ハザード、または分岐ハザードという。
制御ハザードは、分岐命令がある限り逃れることのできないハザードである。しかし、その影響を小さくすることはできる。
その方法が分岐予測である。現在のCPUでは、分岐命令があった場合、その結果がどちらかであると仮定(予測)して、
以降の命令をあらかじめ実行しておく、という動作をしている。
この場合、予測が当たっていればパイプラインのストール(停止)が実質的にないのと同じように実行できる。
しかし予測が外れていた場合、先に演算していた内容を全て破棄して分岐命令の直後から演算をやり直さなければ行けないため、
大幅なペナルティが発生することになる。
初期の分岐予測機能付きCPUでは分岐命令を常に条件式の結果がYESであると仮定して分岐予測を行っていたが、
後に以前の結果を記憶しておいて、それを元に分岐予測をする方式に改められ、
さらに、記憶に2ビットを与え、同じ結果が2回続けば予測先を変更するように改められた。
現在においても分岐予測の精度向上は重要な課題の一つであり、各社ともに常に分岐予測の精度を向上させるための研究が進められている。
if 100回じゃ有意差ないだろうな
c99 inline がよきに計らってくれるよ。
毎秒数万回まわすとかならあれだけどね、 それより20行のなかで関数バンバン使ってたりする方が響くと思うな。 まあ20行ならダブって書いても大した事無いけど。
817 :
デフォルトの名無しさん :2013/09/23(月) 18:18:31.70
>>796 ちげーよ。知ったかぶりのうんこ。
自殺教唆と自殺幇助と嘱託殺人を禁止する条文だ。
ifの結果が毎回同じなら分岐予測で高速化するから遅くならないよ
819 :
デフォルトの名無しさん :2013/09/23(月) 19:21:25.03
820 :
デフォルトの名無しさん :2013/09/23(月) 19:28:05.81
パイプラインを wiki 引用しなきゃ語れないアフォが現実世界に降臨した… 終わりは着実に始まっている(gkbr
またC++の話になっちゃうけど、仮想関数は動的ポリモーフィズムの場合は メモリポインタを通してコールするからなおさら遅くなるな あ、メモリポインタって言葉使っちゃだめでしたっけw
名無しの俺知ってるぜアピールより引用の方が遥かに有益
小手先の最適化よりアルゴリズムとかデータ構造とか工夫したほうがよっぽど速くなる
>>822 メモリからコール先をロードすると、それがキャッシュに乗っている乗っていないに
関わらず必ずパイプラインハザードが起きるんだったな
結局メモリからコール先をロードする際にはレジスタでコールテーブルからオフセット値を 読み込んで初めてコール先が決定するので、コール先がアトランダムに変わる場合 全くと言って良いほど分岐予測が当たらない これはCの関数ポインタ配列でも同じだと思う 誰かベンチマーク取ってみてよ 同じ関数ばかり関数ポインタで呼ぶのと、乱数で呼び先をランダムに変えた場合
C学習者なのですが、質問させてください Cにはライブラリやフレームワーク(例えばPHPならPEARやZendFramework、JavaScriptならjQueryなど)はないのでしょうか? 「C ライブラリ」なんかでは全く出てこないのですが もしないのであれば、皆さんはそういう関数とかは全部自前で作られているのでしょうか? 逆にあるのであれば、有名どころを教えて頂きたいのですが
有名どころだけでも死ぬ程あるんじゃね?
そもそも何でCやろうとしたんだ C++じゃダメなのか
>>827 コンパイラに付いてくるもんだが?コンソールアプリでもライブラリ無いじゃキツイ。
IDEが無いのならランタイムライブラリを明示的にリンクしないと使えない
WindowsならWindowsSDKという名前で配布されている。
curses最高です!
初めてベクトル計算の”外積”を使ったわ rad = atan2(closs,dot); deg = rad * 180.0 / M_PI;
線と線の辺り判定でよく使うよね
836 :
827 :2013/09/23(月) 22:37:07.84
>>828 そうなんですか?
自分の調べ方が悪いんでしょうね
何か特定の条件で調べないとライブラリ見つかりにくいのかもしれませんね
MySQLなどのデータベースへの接続用のライブラリとか
PHP、JavaScriptなど他の言語は大まかなことを扱えるライブラリとかあったんでそういうのが簡単に出てくるのかなと思ったりもしたのですが
PythonなんかはPHPよりも特定条件でのライブラリが多いように思いますが
>>829 C++はまだ未学習でして
今Cの学習中で、(簡単なので出来ればライブラリ使って)Cでどのような事が出来るのか俯瞰したいと思いまして
>>830 ありがとうございます
ちょっと見てみます
>>831 それはどのようなライブラリなのでしょうか?
IDE(自分の場合はEclipseを使っていますがC用には使っていません)ではなく、自分は今のとこC言語だけはWindows使っててWindows Visual C++ 2010 Express使ってます
そのようなものが一般的なライブラリだけでなく、有名どころやお勧めのライブラリなども付いてくるという事でしょうか?
特に(EclipseにPHPならZendFrameworkのライブラリをリンクするように)インストール作業やリンク作業を行わなくても出てくるのでしょうか?
C言語用のEclipseは明日にでも導入して試してみます
>>832 一般的、汎用的なライブラリとかから知りたいと考えております
PHPなんかは標準関数でもデーベース接続、http接続など色々と出来ますが、Cの場合は自分たちでやらないといけないようですが、そういったライブラリが配布されていたら楽だなと思いまして
自然言語処理だとか、cURLだとか
>>833 termcap/terminfo はどうしてる?
jQueryに代表されるJavaScriptがいうフレームワークと PHPがいうフレームワークって別物
まさかiconvが入ってないとかそういうオチか つまり英語を使えと?
あ、だめだ ideoneはchrono入ってないわ codepadも同じ でもやろうとしてる事はすぐに分かるよな?
843 :
デフォルトの名無しさん :2013/09/24(火) 03:27:47.40
>>838 の返しうまいわ
QZなんてこうやって適当にあしらっときゃいいんだよ
QZに正しい内容を理解させようと一生懸命説明するのはボンクラの仕事
844 :
デフォルトの名無しさん :2013/09/24(火) 06:04:41.23
>>838 の返し超うまいわ
QZなんてこうやって適当にあしらっときゃいいんだよ
QZの間違いや誤解している点を指摘し、その間違いや誤解を認めさせたうえで
正しい内容を理解させようと一生懸命説明するのはボンクラの仕事
845 :
832 :2013/09/24(火) 06:49:46.93
>>836 >一般的、汎用的なライブラリ
がわからんとってるのだよ
curlをしってるならいいじゃん、自然言語はしらね
846 :
デフォルトの名無しさん :2013/09/24(火) 07:03:49.52
わからんとってる
847 :
!ninja :2013/09/24(火) 07:10:55.04
どうも、大一の19歳で〜す大学の必修でC言語やってるけど 全然わっかりませ〜ん、誰か一から教えてたも
848 :
デフォルトの名無しさん :2013/09/24(火) 07:34:10.30
849 :
!ninja :2013/09/24(火) 08:05:18.77
>
>>828 > そうなんですか?
> 自分の調べ方が悪いんでしょうね
> 何か特定の条件で調べないとライブラリ見つかりにくいのかもしれませんね
> MySQLなどのデータベースへの接続用のライブラリとか
> PHP、JavaScriptなど他の言語は大まかなことを扱えるライブラリとかあったんでそういうのが簡単に出てくるのかなと思ったりもしたのですが
そう言うのは例えばmysql側が配布するもんだ
普通はソフトに一緒に入ってたりする
なぜなら配布側が便利な関数をまとめて自身で使ってたりするから。
でphpのmysql接続関数はそのCライブラリをラッピングする形で作られてるわけだが。
何となく関係性分かってもらえるだろうか。
大学の授業聞いてわからないアホがここで聞いてわかるようになると思ってんの?
>>847 来期の再履修あるだろう。来年いらっしゃい。
853 :
デフォルトの名無しさん :2013/09/24(火) 08:52:25.86
>>851 そんなに長く書かなくても「馬鹿には無理」の一言でいいんだよ
何大学?
MIT
武蔵工業大学か、なっとく
今は東京都市大学っていうんだよ。おじいちゃん。
>>858 一般社会どころか2でもうだつのあがらない奴がなんでまだ生きてるのかね
>>840 std::rand() % 4処理は時間に大きく影響しないのか
>>862 あ、それまだ上げてなかったけど、配列に入れておいてそこを参照するように書き換えた
大した差は出なかった
つまりやはり毎回メモリを通したコール先が予測出来ないと相当実行速度が落ちる
逆に毎回同じ関数を呼ぶと分岐予測が働くのな
CPUによって違うと思うけど
つーかこれ、Debugだと律儀に毎回関数コールするようだけど ideone.comはReleaseでコンパイルされてるだろ そうすると最適化されてインライン化でもされるのか手持ちの処理系でも 同一関数コールは0msになってしまう Debugモードで測定するのをお勧めする
868 :
デフォルトの名無しさん :2013/09/24(火) 20:07:08.17
すげえな ゾウリムシの大きさをパーセクで言うようなもんか
>>869 ああなるほどね
各関数の中で無視出来ない演算をさせるわけか
それともうひとつ配列を用意して同条件にするわけな
あとmainがこんな感じで書けてしまう
int main()
{
void (*func[])() = { func1, func2, func3, func4 }; // Avoid std::function costs
{
std::cout << "The same function call" << std::endl;
Duration d;
std::for_each(cnt, cnt + N, [&](int i){ func[i](); });
}
{
std::srand(std::time(0));
std::generate(rnd, rnd + N, [](){ return std::rand() % 4; }); // Avoid std::rand costs
std::cout << "Random function call" << std::endl;
Duration d;
std::for_each(rnd, rnd + N, [&](int i){ func[i](); });
}
}
いい加減C++スレでやれよキチガイども
話についてこれない
>>872 が発狂wwwwwwwwwwwwwww
スレチのくせに態度がでかいwww
プログラム言語ではなく何をしようとしてるのかを読め
耳年増たちのエロ自慢大会
>>873 >>875 関数ポインタ呼び出しの計測ならCだけでも書けるだろ
C++なんだからC++スレでやれ
>>877 だってタイマに高分解能な物がCにはない
APIを呼べと?それこそスレ違い過ぎないか?
>>878 そもそも時間計測は外部でいいだろ
相当数ぶん回してるんだから
>>879 少し上のプログラムも読めないのか、chronoがAPI呼び出しをカプセル化している
Cでideone.comに貼れるようなミリセコンド単位で計測出来るプログラム書ける?
882 :
デフォルトの名無しさん :2013/09/24(火) 23:06:57.66
>
>>881 ベンチなんだからclock_tでいいじゃん
>>881 OS上ならシステムコールを呼ぶしかないだろ
Cで呼べないシステムコールがあるの?
こんな初心者用のコード出して相手が理解できないと思ってる時点で 場をわきまえる奴のわけがない
>>836 >それはどのようなライブラリなのでしょうか?
>IDE(自分の場合はEclipseを使っていますがC用には使っていません)ではなく、自分は今のとこC言語だけはWindows使っててWindows Visual C++ 2010 Express使ってます
>そのようなものが一般的なライブラリだけでなく、有名どころやお勧めのライブラリなども付いてくるという事でしょうか?
VisualStudioだとWindowsSDKとC/C++の標準ライブラリしかない。ExpressはMFC/ATLは付いてなかったハズ。
それ以外のライブラリはかなりの物がネットで無償配布されてる。
>>885 これでミリセコンドまで表示されるのは、ideone.comが恐らくLinuxなんでしょうね
しかしWindows上で動くCのclock_tはCLOCKS_PER_SECが多く1であり、
とてもミリセコンドでは測定できません
実際ideone.comがWindowsで動いていたら、このプログラムは正しい表示を
しないでしょう
どうでもいい上コンパイラの違いじゃない
891 :
883 :2013/09/25(水) 09:00:04.11
WinならGetTickCount() Linuxならclock_gettime() を呼ぶ。 しかし、それが実時間とあってるかは別 しかもmsec単位ならなおさら
計測するのは実時間じゃないだろ ベンチなんだから
この場合、相対的な時間でいいよな。
>>893 ずーっと遡ると
>>776 の
インラインやら予測分岐等の違いを検知できるかの比較するためのベンチをとりたい
という用途なので相対比較できれば良いということかな
で、結局確かにメモリを介した間接コールでも投機実行は行われていそうな 結果が出たんだろ?これでこの話やめれば
自分が批判の対象だと黙りこむクズww
待て待て、まだ分岐予測がまだだろ 暇人なら、agnerさんの所のpdfにあるような予測パターンとランダムパターンで ベンチマークを比較してみろ ただし今度はCで書けよ
899 :
883 :2013/09/25(水) 12:32:23.97
実時間->実時間の差分 は単なる間違いなので修正するけど OSのオーバーヘッド、スケジューリング等の影響はどうなの? て聞いているのだけど
ディスパッチどころか割り込みも外乱だけど、そもそも 上でコード上げてる連中程度の知識でベンチ作っても無駄としかいいようがない
OSのオーバーヘッド、スケジューリング等の影響があっても 比較対象のそれぞれで均等になる工夫でキャンセルできれば良いんじゃないかな(一般論) ※ プログラム実行試行を複数回行う?
実時間の差分でもねえよ ベンチ計測するのになんで実時間使うんだよ ましてやC++ならアーキテクチャ決め打ちのライブラリあるだろ わざわざ標準にする意味がどこにある
>>901 それについてはいい解決策がある
プライオリティを一時的に上げて実行すればよい
クダラネ
907 :
883 :2013/09/25(水) 14:36:10.01
わかってないのがわかったのひっこむ
>わかったのひっこむ
909 :
883 :2013/09/25(水) 15:09:05.71
きいてるきいてる(棒)
>>907 >OS上ならシステムコールを呼ぶしかないだろ
>Cで呼べないシステムコールがあるの?
あのね、ideone.comが何のOSを使っているか分からない限りシステムコールは出来ないんだけど
それに多分ああいうWeb上のコンパイルシステムはウィルスの混入を防ぐためにシステムコールが
禁止されてるんじゃない?
911 :
883 :2013/09/25(水) 15:45:33.26
意味不明
そもそもideoneでベンチしてどうすんだって話だから
なんでこんなに娼婦の息子があふれてんだよ
負けられない戦いに突入しちゃった人がいるみたいなので しばらく様子見で。このスレではよくあること
ぜったいにまけられない
C言語って宗教戦争がない言語だと思ってたのに普通にあるんだな
919 :
デフォルトの名無しさん :2013/09/25(水) 17:11:00.64
キチガイが暴れてるだけなのに宗教戦争とか言わないでください。
現在hoge vs. anti-hogeが戦中 あなたは、どちらの派?
C言語なら俺に聞け(入門編)スレ 過去の主要な論争 (1)main関数の型 (2)extern は必要か? (3)NULLは0か、それとも(void*)0か? (4)exitの前にすべてのfreeをすべきか?
>>921 (1)
int main(void)
int main(int argc,char *argv[])
int main(int argc,char **argv)
どれでも好きなのつかえ
(2)
しらね
(3)
(void*)0とタイプするのがめんどくさい
(4)
好きにしろ
>>922 >(void*)0とタイプするのがめんどくさい
NULLを使うから自分でタイプする必要ないだろ
nullptr<T>
char *konosure=NULL; printf("%s", konosure);
926 :
デフォルトの名無しさん :2013/09/25(水) 20:55:19.79
(1) 処理系定義 (2) 必要 (3) printf("%p", NULL); //アホ警報 (4) すべき ∵ 反論(反発)がすべて処理系依存
927 :
デフォルトの名無しさん :2013/09/25(水) 23:01:52.53
質問です。 コンピュータを開きDVD-RWの入っているドライブを右クリックし、 右クリックメニューから「このディスクを消去する」をクリックして処理が終わるのを待ちました。 処理が終わったようなので別のDVD-RWを入れようと思ってドライブを開けたら さっき消したはずのDVD-RWがまだ残っていました。 Windowsのバグでしょうか?
DVD-RWドライブやディスクが欠陥品だからだよ 店にクレーム入れろ
>>927 ディスクの書き込み禁止のツメが折られているんじゃないでしょうか。
人工無能以下の呆れるほどつまんねえレスだな お前ちゃんと頭ついてんの?
C言語使いに頭はついていない。ついている奴はC言語は使わない
933 :
デフォルトの名無しさん :2013/09/25(水) 23:18:20.04
言葉遣いからして、お気の毒なブーメラン使いだね
>>933 こんな低レベルな煽りで凹むぐらいなら
荒らしてんじゃねえよゴミ以下のクズ
935 :
デフォルトの名無しさん :2013/09/25(水) 23:52:22.37
残念でした、俺は凸だよ せいぜい、そこで発狂してろ未使用凸君
936 :
デフォルトの名無しさん :2013/09/26(木) 00:03:09.73
凸?
DTが発狂してると聞いて
938 :
デフォルトの名無しさん :2013/09/26(木) 00:30:34.66
兄貴かっこいいっす
940 :
デフォルトの名無しさん :2013/09/26(木) 00:33:55.18
直腸の奥に流れ込む兄貴の白濁液
組み込み・OSカーネル: C その他: Jave, C# C++; オナニー (気持ちいい)
hoge--------!
>>935 本当につまんねえレスだな・・
お前みたいな無脳に構ってやってるだけありがたいと思えよクズ以下のカス
↑悔し紛れの捨てゼリフ
whileの使い方教えてください while(a=getch()!=NULL){ printf("%a",a); }
946 :
デフォルトの名無しさん :2013/09/26(木) 02:04:53.22
>>940 奥に出してもらわないと困るよな。
浅いと帰りの電車の中で染み出してくるし。
getchは一文字入力関数ですが、0が入力されるまでの間は繰り返し入力を待っていて、入力されたら文字列を表示するというコードを書きたいのです
この構文だとおかしいのは何故? while((a=getch())!=NULL)
>>927 「消去する」とは、物質をこの世から物理的に消去するという意味ではない
950 :
デフォルトの名無しさん :2013/09/26(木) 02:42:58.36
>>926 >(4)
>すべき
>∵ 反論(反発)がすべて処理系依存
free必須派が相変わらず無知さらしてるな
mainと限定しているので、hosted environmentであることが前提
hosted environmentではプログラムの終了でメモリは全部解放されることが保証されている
>>946 終わった後で出したところ吸ってもらえよ
兄貴の肉棒でズコズコやられて緩んでるから
兄貴の舌も入りやすくて気持ちいいぞ
/*
>>947 */
#define MESSAGE "0 is detected."
#include <conio.h>
#include <stdio.h>
int main(void)
{
int c;
/*
0が入力されるまでの間は繰り返し入力を待っていて、入力されたら文字列を表示
*/
for(;;)
{
c = getch();
if(c == '0')
{
break;
}
}
puts(MESSAGE);
return 0;
}
>>947 getch()を本当に使いたいのか?
どっちにしても man getchでマニュアル見る癖を付けるといい
getch()てcursesの関数じゃん。
ありがとうございます
956 :
デフォルトの名無しさん :2013/09/26(木) 11:23:06.01
Cの苦手な事 これを実現するのは難しいってのある? その場合使われる言語も合わせて教えてほしい
文字列処理 スクリプト言語
オブジェクト指向--->C++
959 :
デフォルトの名無しさん :2013/09/26(木) 12:09:57.19
>>950 おまえさんは exit と書いてあるのが main に見えるらしいな
白内障の検査でも受けてきた方がいいんじゃないか?
それと freestanding では main は禁止だっけ?
960 :
デフォルトの名無しさん :2013/09/26(木) 13:36:52.02
すみません、ウンコみたいな質問ですが テキストを読み取ったときに改行をうけ取って 判別?するにはなんて書けば良いですか? if(a=改行) をしたいです。
せめて代入と比較の区別くらいできてから来いや
>>960 if(a=='\n')
{
something();
}
とか
963 :
デフォルトの名無しさん :2013/09/26(木) 13:51:17.91
>>959 おしい、exitはfreestandingでは規定外なんだ
もう少し調べてから逆襲すべきだったな
964 :
デフォルトの名無しさん :2013/09/26(木) 14:13:30.43
965 :
デフォルトの名無しさん :2013/09/26(木) 15:57:01.28
すみません、ウンコみたいな質問ですが テキストを読み取ったときに改行をうけ取って 判別?するにはなんて書けば良いですか? if(a=改行) をしたいです。
966 :
デフォルトの名無しさん :2013/09/26(木) 15:58:14.57
967 :
デフォルトの名無しさん :2013/09/26(木) 16:48:07.35
>>946 バーカ。exitはfreestandingでの必須ライブラリに入っていない。
hosted environmentで定義されてる関数だ。
これでわかるかな? free必須派が無知だって事がこれでまた立証されてしまった。
968 :
デフォルトの名無しさん :2013/09/26(木) 18:40:31.51
アンカーミスは勘弁してやろうか 規定外とか、必須でないことを未定義と混同とか、 まるで話になってないんですけど (外人の両手ひらき)
969 :
デフォルトの名無しさん :2013/09/26(木) 18:55:46.17
> 規定外とか、必須でないことを未定義と混同とか、 用語の定義で誤魔化そうとする無知なfree必須民
970 :
デフォルトの名無しさん :2013/09/26(木) 19:12:18.99
用語くらいちゃんと使わねば まさに今おまえが言うような逃げ方が通用しちまう
>>967 だからと言って
>>921 の(4)がhosted environmentにおけるexit関数を指しているとは限らないけどね
結局「反論(反発)がすべて処理系依存」ってわけだ
結論:921は成果大
975 :
921 :2013/09/27(金) 16:49:47.57
オレのせいかよ、まあC言語規格のガチの議論は難しいよね
977 :
デフォルトの名無しさん :2013/09/27(金) 17:02:44.28
>>975 君のせいじゃないさ
マシン相手の話であって厳格さは大事なんだよ
たまに厳格なC言語規格の話があると新鮮ではある
そろそろ次スレの準備
話題ループさせてばっかの糞スレに次は不要。
t++ ってのは t の値を取っておいてから t をインクリメントするの 値はインクリメントする前の値だよ
ポインタは()しろ
演算の優先順位とインクリメントがいつ行われるのかにどんな関係があるんだw
985 :
デフォルトの名無しさん :2013/09/27(金) 18:08:02.39
ポインタが理解できてないんだろ
#include <stdio.h> int main(int argc, char **argv) { while (*argv) { while (**argv) { printf("%c", **argv) (*argv)++; } putchar('\n'); argv++; } return 0; } ポインタを学習するのに最適なコード gcc -S test.cでおk
>>984 こうやって関係あるな
(*argv)++;
と
*argv++;
との違い
それはインクリメントされるモノまで違う
990 :
デフォルトの名無しさん :2013/09/27(金) 19:31:56.27
インクレメントされるのはアドレスですが?
次スレ乙です
C言語の規格的に if(0) と if(NULL) は同義ですか?
993 :
デフォルトの名無しさん :2013/09/27(金) 19:40:44.43
>>992 同義です
たとえ NULL のビット列が 0 のみからなる実装でも
そうなっている必要がある
そうなっていない処理系がないことを
例えば刑事罰などで強制もしていない
994 :
デフォルトの名無しさん :2013/09/27(金) 19:41:20.39
s/0 のみからなる/0 のみからならない/
996 :
デフォルトの名無しさん :2013/09/27(金) 20:01:58.97
>>988 マジかよこんな奴でもマやってられるのかよ
俺なんかマにもってこいだな
Googleあたりやとってくれないかな
997 :
デフォルトの名無しさん :2013/09/27(金) 20:02:57.35
c言語で1秒に1億回近い計算ができるんだし 頭使わないようになったってことない? 速度を求めることがなくなった。
998 :
デフォルトの名無しさん :2013/09/27(金) 20:08:54.09
1000 :
デフォルトの名無しさん :2013/09/27(金) 20:20:24.28
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。