1 :
デフォルトの名無しさん :
2011/08/10(水) 06:44:47.34
r-┐ / |  ̄| | | | | | | | | | | | | | | | |.__,| _ _ lヽ,,lヽ _| ::|_ | |Θ| ( ) )) | ̄ ̄ ̄| ̄ ̄|_ |_|_| し i |___|__|_| |_| しーJ .... ウニョッ _____ ヾ (( l、___ / / / / / チャリーン ( (__/| )) ヽ___ _,/ _ _ lヽ,,lヽ `ー _| ::|_ | |Θ( ) | ̄ ̄ ̄| ̄ ̄|_ |_|_と i |___|__|_| |_| しーJ
怪しいスレ ./'^^^ ^-. / | 「 〈 .ヽ...__ ◎ ◎ l .l ▽ ./ ./゜ l .;r q ] ノ 、 ( ( .ヽ .ヽ 〉 l. l. ( ( ヽ____ __.。.l゜ ^ ^ ____ l、__ / / / / / ( (__/| ヽ____/
cで勝手に成長する人工知能みたいなものって作れないの
俺がそれだよ。
Cはやる気と根気と知識があればわりとなんでもできます
/* 君がこのコメントを見ている頃には私は陰謀によって殺されている頃だろう */ こんなコメントがあったらロマンティック
>>8 ソース非公開なのに見ている奴
そいつが犯人
なんでもできるCがあるのに、なんでC++なんてあるんですか?
11 :
デフォルトの名無しさん :2011/08/10(水) 18:14:29.29
coutとかを使う気にはならないな
標準語でなんでも表現できるのに、なんで2ch用語なんてあるんですか?
英語が一番広まってるのに、なんで日本語を使うんですか?
バグを自分で見つけ、自分で修正していく AI 機能付プログラムを作りたい ウィルスじゃないってw
15 :
デフォルトの名無しさん :2011/08/10(水) 18:54:07.95
学習機能のあるプログラムなら珍しくもなんともない
16 :
デフォルトの名無しさん :2011/08/10(水) 18:55:40.11
ターミネーターみたいになるからやめとけ
C言語初心者です。 質問なんですが、市販のゲームのプログラミング言語ってソフト開発社の プログラム言語なのか、ハード会社のプログラム言語なのかどっちなんですか?
なんだそりゃw
C言語学ぶ前に、日本語を話せるようになった方がいい
お前らすぐ初心者を馬鹿にするよなー
>>17 ソフト開発者のプログラム言語だよ(^ω^)
もう少し具体的な質問じゃないと、それぞれでいろいろだよ、としか答えられんよ。 PC なら Microsoft の Visual Studio 等の市販されてる開発ツールが主流だろうな。
22 :
デフォルトの名無しさん :2011/08/10(水) 20:00:55.92
>>17 ハード会社のプログラム言語が基本
そういうのをアセンブラっていうんだけど、色んなアセンブラの似てるところを集めたのが C
もっとも C 自体が見た目アセンブラとは全然違って見えるので
その事実に気がつかないか否定したがる人がよくいるが
スーファミならインテリジェントシステム製のアセンブラーを触ったことある。 サードメーカーもそれ使ってたかは知らない。 まあアセンブラーだし、どこのでも大差ないだろうから。
いろんなアセンブラの似てるところってなんだろ・・・?
Intel C++ Compilerってどっちに分類するんだ?
>>25 それ言語はバークレイかどっかのだろ。
インテルが作ったわけじゃない。
ビャーネとかいうオッサン。
ビャーネ・ストラトス ストラップ ストリトラトス スキトキメキトキス
ときめきメモリアル
29 :
デフォルトの名無しさん :2011/08/10(水) 20:22:25.68
静的配列以外でハッシュ法の実装って可能ですか?
なぜできないと思った?
リンクトリストでも実装可能だよー
>>30 C言語の話です。配列以外で実装不可能でしょ?
>>31 いやいちいち辿ってたら遅いでしょwハッシュの意味がない。
データを配列に格納するんじゃなく、リンクトリストに格納するということでは?
ファイル内の文字列を高速に検索する関数ってCの標準ライブラリで提供されてるんでしょうか? 自分で作るとしたらfgetsで読み込んでstrcmpするぐらいしか思いつかないんですがいい方法ありますか?
データをハッシュ法で格納するなら リンクリストにする意味ってなくね?
何をしたいかによるだろう
42 :
デフォルトの名無しさん :2011/08/10(水) 21:07:18.61
>>35 そういうのを考えるのが C 屋の仕事だよ
*** お前が言うな ***
>>35 同じファイルを何度も検索するならインデックスを作るとか
そんなものが標準であったら、ファイルシステムとかデータベースとか作るのが楽でいいよなあ…(遠い目
100万個の文字列から任意の一つを一瞬で検索したいです。 配列以外で何かいい方法ありますか?
文字列に規則性がない限り総当り的に検索するしかない気が・・・
>>46 その検索が何回も実行されるなら、ハッシュなり B-Tree なり使えばいい。
50 :
デフォルトの名無しさん :2011/08/10(水) 22:39:52.90
同じ検索を 100 万回やり直すとしたら 100 万倍バカだ 1 回目の検索結果をポインタで取っとけ
なんでバカっぽく書くの?
文字列を細かくグループ分けしてから検索しろ。
53 :
デフォルトの名無しさん :2011/08/11(木) 11:15:09.26
時代はjavaだな。。。はぁ
54 :
デフォルトの名無しさん :2011/08/11(木) 16:01:21.10
>>47 配列でできませんか?
たとえばappleを検索したいとき
str[123124123]=1のとき
hashx(123124123)=appleみたいな。
時間0.0000000・・・1秒
hashでいいじゃんかよ 条件合わないならtri木とか
量子コンピュータ使うのが最善です。 それが無理ならスパコンの「京」でやりましょう。
>>55 int str[1000000000000000000]くらいの設定をするとスタックエラーになります。
どうしたらいいですか?
配列使うなよ
DDR3-1333の転送速度は10.667GB/秒らしいです。 >時間0.0000000・・・1秒 ローカルメモリの転送速度を遥かに超えていませんか?
まずスタックに作らない ヒープに取ったら配列と同じように使えるだろ
>>53 そういうのってプロマ目線?それとも日曜マ目線?
作りたいものによるんじゃないですか?
>>61 どうやりますか?たとえば・・・関数とか?
ヒープでも無理だろwwwwww 疎な配列なら配列っぽくいろいろできる関数を作ることはできるか
>>46 本当にやりたいことをありのままに書け。
本当に「100万個の文字列から任意の一つを一瞬で検索したい」のか?
それは何か「本当にやりたいこと」のための1手段ではないのか?
>int str[1000000000000000000] intでstr? 1,000,000,000,000,000,000 E P T G M K 物理メモリでも仮想メモリでも無理だろ。 無茶な要望出して反応楽しんでるだけだろ。
>>65 それは無理だ!
>>66 単に10000000でも10000000でもいいですよ。
相当量多いキーを保存したいんですよ。
ヒープでどうしたら?
mallocで確保しとけ。
>時間0.0000000・・・1秒 処理をすべてすっ飛ばし、結果だけを予め用意しないと無理な時間だな。 int i=1; int a=i+i; コレだけの処理でもタイムオーバーじゃね?
ハッシュで格納してハッシュで探索がシンプルかつベストじゃね
>>60 転送速度以前にレイテンシでの遅れがあるからな。
そっちのが問題。
>>67 >それは無理だ!
多分、客も本当にそんなことを要求している訳ではない筈。
「本当に必要な事は何か」を聞き出し、
もっとスマートな解決法を提案するのも
プログラマの仕事だ。
>>69 0.00001秒くらいかな。
クイックソートで文字列を昇順にソートしたいんです。100万個。
0.01秒以内で。
ソートかよ! 検索じゃなかったのかよ!!
おまえらおちょくられてるのがわからないのか
おちょくられてるのを楽しんでるのがわからないのか?
ここまですべて俺の自演
79 :
デフォルトの名無しさん :2011/08/11(木) 18:12:36.69
D言語ってなんで流行らないの?
ヒープ領域の使用できる量って何を基準にして決まってんの?
OSの設定
ちなみにプログラムの段階でその辺の量もいじれたりするの?
sbrk() なら、少しは。
夏休みか…
85 :
デフォルトの名無しさん :2011/08/11(木) 19:51:38.20
大体はVIPに行くんだけどなあ^^;
プログラミングに関して勉強を始めたいんですが完全に無知です 推奨図書もしくはサイト等ありませんか? ご教授下さい
プログラミング大先先にでもなったつもりかよキモキモ
プログラミング初めてならアセンブリから始めるのがいいよ これマジ
無茶いうな。
どうせ無理なくせに
無理ではございません。実際に秋葉原でパーツを買いそろえて、作ってみました。 一番高いパーツがプリント基板だったので、驚きました。
以上、ここまで自演
ごみがごみを作っても意味無いだろwwww
CPUってパーツ買い揃えるだけでできるのか
漢字ってC言語はサポートしてるんですか?
書けてるじゃん。
C言語が漢字をサポートしてるのか、コンパイラが漢字をサポートしてるのか どっちですか?
>>103 まず「サポートする」ってどういう意味だ?
1億個の要素を持つ配列を使うのって無謀ですか? char flag[100000000]; とか使いたいんですが。メモリは4Gあります。
割となんとかなる
おとなしくmallocしとけ
>>105 少なくとも flag なら、1/8になるだろ?
>>104 だってC言語が開発されたのって50年以上も前だし海外によるもんでしょ?
a,b,cみたいなレギュラー26と('&%$みたいな特殊記号と同じように常用漢字
も使えるんですか?
やってみたらええやん
開発されて以降拡張されてないとでも?
>>109 だから、まず「サポートする」ってどういう意味だって訊いてるだろ?
開発とか拡張とか・・・
>>108 1億ビットの領域を読んだり書いたりするのはどうすればいいですか?
配列みたいに指定出来ますか?
>>112 すいません。
元々のデフォルトで存在するという意味です。
だからa,b,c,dと一緒です。
だから変数設定するときに
int 山田;
とかは何故できないのか不思議でたまりません。
ビット単位での演算は出来ないよ あくまでバイト単位かつ16進数で ビット演算しないといけない
>>115 >だから変数設定するときに
>
>int 山田;
>
>とかは何故できないのか不思議でたまりません。
そう決まっているからだよ。またそう決まった理由は、
出来るようにする利点より、欠点の方が多いと判断されたからだよ。
そんな風に書かれたら、日本人以外は読めないだろ?
あと「元々のデフォルトで存在する」とはどういう意味だ?
typedef int イント typedef val 山田 イント 山田; 山田 = NULL;
>>115 >int 山田;
>とかは何故できないのか不思議でたまりません。
普通にできるが? (VisualStudio 2010)
君達揚げ足取りだけは上手だね^^
>>119 へー、知らなかった。
しかしこんなことが出来て、誰が喜ぶんだ?
嫌いな上司を変数に使いたい
よく読め。
>>101 は漢字がC言語をサポートしているかを聞いているんだよ。
124 :
デフォルトの名無しさん :2011/08/11(木) 21:28:03.03
>>119 もうそこまでできるならそれは(C言語+ツール)じゃないんですか?
>>123 お前、うなぎ屋さんで注文訊かれた時に
「俺、うなぎ」なんて答えた奴がいたら、すかさず
「はぁ?お前はウナギなのか?
じゃあ、明日からお前のことをウナギ君って呼ぶぞ」
って感じで小一時間問い詰めるタイプだろ?
俺、焼きそばパンな
自分が将来なりたいと思う夢を語るスレです
うなぎ屋さんってなぁに?
>>125 うなぎ屋で「俺、うなぎ」は注文として成り立つのかどうかのほうが問題だ
吉野家で「俺、吉野」って言う感じか
「俺、アイスコーヒー」って言うよりはいい
>>125 >「俺、うなぎ」なんて答えた奴がいたら、
そりゃもうウナギ君って呼ぶしかねぇだろ
>>101 は「漢字はC言語をサポートしてる」とも「C言語は漢字をサポートしてる」とも読むことができる
文脈上後者の意味で捉えらなれないのは、ネタじゃないならアスペルガーだったり発達障害だったりする可能性がある
ここはうなぎのスレです
オレを食うなよ
>漢字ってC言語はサポートしてるんですか? 漢字だけでC言語を表現できるかってことか?
文字列としてなら対応してるけど さすがに関数名とかは厳しい希ガス こういう回答でおk?
>>137 その根拠を示せ。
プログラマならば、日本語のパーサを作ってから非難してみろ。
漢字がC言語をサポートしているか否かで1000まで行くスレはここですか?
俺うなぎ
うなぎってC言語はサポートしてるんですか?
C←「俺、うなぎ」
うな言語
「C言語が漢字をサポートしてるのか?」を 「漢字1文字をアルファベットA-Zの様に1文字として認識する標準関数が用意されているか?」 という意味に解釈すると、サポートしていない。 Javaはマルチバイト文字をサポートするクラスがあるけどね。
>>147 一応C99でも定義されてるんだし、その認識は古いと思うんだ…
でも仕事でC99が採用されている所って見たこと無い。
見た事が無い物は絶対絶対絶対に信じないってか
じゃあまんこなんて存在せんよ
>>148 あらま、C95以降で対応してるのね。
C99までサポートした、K&R本みたいな定番本って、なにかあります?買うゎ・・
質問者の意図を無視して議論は長々と続く そうまるでうなぎのように
8Queen問題ならいざしらず、升目なんて、書ければどーでもいいべ。(゚σ ゚)ホジホジ
変数宣言をmainの中でするとか、定数はdefineで定義するとか、 変数名を工夫するとか、そういう細かいところを置いておくと 考え方的には素直で十分なコードだと思うよ
だってfor文ばかりでアホっぽいじゃないですか
puts("+-----+-----+-----+-----+-----+-----+-----+-----+\n| | | | | | | | |\n … でおk
すみません更新せずにレスしてしまいました 考え方はこれ十分なんですね ありがとうございました
まず「スマートな方法」ってどういう意味だ?
またうなぎの話か
関数化してサイズとか引数で設定できるようにしたら少しスマートになるんじゃね
与えられた課題以上のことをやろうとすると嫌な顔されるから、素直にベッタベタな方法でやっといた方が安全
と業務土方が申しております。
レスの最後に改行入れるのってなんか意味あるの?
まず「アホっぽい」ってどういう意味だ? プログラムなんて、性能上問題がなければ、アホでも理解できるコードが一番スマートなんじゃね?
>>167 ぉ、サンクスコ!この本は知らなかったゎ・・・さっそく手にとってみます。
いやでもこれ結構良い問題じゃね? もっと簡潔にできそうな匂いを漂わせつつも 結局はベタなのが一番っていうね
172 :
デフォルトの名無しさん :2011/08/12(金) 00:06:03.04
C99をサポートしてる統合環境って何がある? Cygwinは何C?
(ボケて!)
まず「統合環境」ってどういう意味だ?
>>172 >Cygwinは何C?
gcc だろ?普通
176 :
デフォルトの名無しさん :2011/08/12(金) 00:25:22.44
Cygwin は開発環境とはいえるけど、統合開発環境(IDE)ではありません。 gcc はコンパイルの際、C99モードを指定できるので、サポートしているんでしょう。
みなさんポインタの使いどころ教えてって言われたら何て答える?
ポインタが無いと関数を引数に取る関数が書けないのでスレッドプログラミングとかで困る
ポインタが理解できずに挫折した奴を馬鹿にする時に使える
ポインタのポインタって使うことある?
>>183 ポインタのポインタが理解できずに挫折した奴を馬鹿にs(ry
>183 取得したポインターをこのポインタに入れて返してくださいってとき。 void *lpTmp=NULL; int re=xxx(&lpTemp,10); ポインタを入れる配列変数をmallocで確保するとき。 void **lpTemp=(void **)malloc(sizeof(void *)*100);
三項演算子なんて使うと、ホワイトボックステストしずらいから、現場では禁止です。 趣味のプログラミングでどうぞ。
>>188 なるほど。
プロフェッショナルの方々は、色々と大変なんですね。
ところで、どうやったらプロになれますか?
時々どこかのスレで募集しているという噂は聞くのですが・・・
>>191 いやそれがなかなか見つからなくて・・・
それも試験のうちなんでしょうね。
最終面接はやっぱり「ひろゆき」氏ですか?
プロになっても良いことはひとつもない
>>190 自分は職業プログラマであるってことだけ根拠に「プロ」だとかスキルがあるような
口ぶりのやついるけど、日本の職業プログラマ60万人のうち、6,7割は
ちょっとできる趣味プログラマに負けてるレベルだから、まに受けないほうがいいよ。
だからこそ、現場では「スキル」をひけらかすようなコードを書く人が敬遠されるという現実w
仕事では保守性の高いコードを書いたほうがいいんですね
性能上のボトルネックになっていて、トリッキーな書き方をすることで、それが回避されるという理由でもない限り、 可読性を犠牲にすることを正当化するのは無理です。
無理ですね。
トリッキーな書き方は敬遠されて当然だが トリッキーな技術で全体の性能が向上するなら使われることもあるだろう ただし、普通のマが理解できるためのドキュメントなりなんなりが必要にはなる
トリッキーってなんすか先輩 某虎次郎の友達っすか?
スキルの高い→トリッキーで分かりにくいコード みたいな連想をするのが、駄目な人の特徴だよな。 実際はスキルの高い人のコードのほうが読みやすいし、保守性が高い。
スキルの高い人の書くコードが、分かりにくいって前提で話を始める人って コンプ強すぎ。
まず「スキル」ってどういう意味だ?
コードの書き方どうこう見たいな話題のときに、前提がレベルの高い人の コードは読みにくいって人がいるからビックリするよな。
まず「レベルの高い」ってどういう意味だ?
>>194-197 このあたりの人は、スキルがあるとかレベルが高いって言われると
可読性を犠牲にしてもパフォーマンスを上げる人ってのを連想するみたいですよ。
へんなコンプでもあるんでしょうね。
じゃあこれからは「レベルの高い人」ではなく「可読性を犠牲にしてもパフォーマンスを上げる人」って言わなくちゃね
パフォーマンスあがってんの?
>>205 どれがレベルの高い人のコードなんですか?
>>208 え、なんで?
へんなコンプある人に合わせて話をしろってこと?
>>194 ご心配有り難う御座います。
でも、私はあくまでも「2ch に書き込むプロ」の話を
しているだけです。
・・・普通の職業プログラマの話な訳無いじゃないですか?
いいなぁ。2ch にカキコむだけでお金がもらえるなんて。
でもやっぱり 2ch への書き込みでも、
コーディング規約とかあるみたいですね。
むしろ、へんなコンプがあるので、レベルの高いコードを書いてたり・・・
>>194 これに、プロとアマは求められるものが違うとか、トリッキーなコードを
書くのはプロじゃないとか変な反論するやつは、アマにまけてる自覚が
ある連中なんだろうな。
自分は、アマに勝ってる3,4割に入ってると思ってる連中は、そうそう
レベル低い連中多いw とか同意してる。
ここは、上げ足をとったり、おちょくったり、楽しいスレですね♥
たかだかコードのことで、勝ってるとか負けてるとかいう発想がww
2chってあれだろ 一般のsns等ではぶられるやつの集まりだろ
SNSなんざはぶられたほうがよっぽどマシ
>>216 code golf とかの存在意義を根本から否定するのか。
ま、いいけど。
でも、仕事でもあり得ることだよ。コードコンペとか。
そして結局の所、仕事とは他社との競争だからね。
>>210 どれがレベルの高い人のコードだと思う?
>>218 このコンプレックスはどこから来るんだろうな
相変わらず机上の空論のときはよく伸びるな
{ char *crash = getenv ("CRASH"); if (crash){ if (!strtol (crash, NULL, 10)) ++*(int *) 8; assert (false); abort (); } } 上のコードで ++*(int *)8 ってどういう意味? 一体何をしてるのかさっぱり分からん。 変数名からして、わざとクラッシュ発生させるようにしてるのかな?
コンマ演算子使った処理って読みにくい と思ってしまうのはレベルが足りないからですか?
アドレス空間の8バイト目の値をインクリメント
>>226 コード実行時点でのアドレスを弄るってこと?
ポインタ変数をインクリメントとかだったら理解できるんだが・・・
初心者の俺には難しい…
環境変数CRASHが設定されてたら、コアダンプ?おもしろい
>>224 その直後の行が assert (false); だから、
そこには到達しない事を想定 → その前にクラッシュが発生する筈
で良いんじゃないの。
なんのためのコードなんだろ。デバッグのため?電話会社のシステムをダウンさせるため?
>>229 これでクラッシュが発生する仕組みが分からない。
コード中に単に8とだけ書いても無効になるのに、ポインタ絡めてこうかくとアドレスを弄る原理が知りたい。
>>227 分解して考えて
++*(int *)8
(int *)8 -> 8をint型のポインタにキャスト(int型のポインタとして認識する)
*x -> xがポインタの場合、ポインタのさす先の値を表す(例の場合アドレス0x0008の値)
++y -> yの値をインクリメント(例の場合アドレス0x0008の値をインクリメント)
そうするとどうなるかは俺は詳しくないので知らん
組み込みだったらこの辺はROMだろうからリセットかかったりするかもね
8ってなんなのどっからきたの
int *i; i = (int *)8; ++*i; と同じことでは
>>231 >これでクラッシュが発生する仕組みが分からない。
メモリ破壊しているんだから当たり前。「メモリ保護」でググれ。
>ポインタ絡めてこうかくとアドレスを弄る原理が知りたい。
アドレスをいじっている訳じゃない。
指定のアドレス(8番地)のメモリ(int サイズ分)を弄っている。
これが分からないのは、ちゃんとポインタを理解していないからだよ。
>>232 成程、要するに"(int *)8"でアドレス指定してる事になるのか
>>235 そう書くと分り易いな。
という事は
int *i;
++*i;
でも同じ様な効果があるという事かな?
8というのがどういう意味があるかは分からん
だからマジックナンバーを使うなとあれほど言っているのに
今気づいたけど即値にインクリメントってできないの? コンパイラによっては出来るのか?
マクロ登録しとけよ。
>>238 ,240
会社で読まされてる昔のコードにこの記述があった。
簡単なマクロプロセッサ。
コメントを見るとm4というunixの古いツールのソースコードからパクッたようだ(これって駄目だよねw)
さっきGNUからソース取ってきてgrepしてみたら全く同じコードがあった
#ifdef DEBUG_STKOVF
/* Make it easier to test our fault handlers. Exporting M4_CRASH=0
attempts a SIGSEGV, exporting it as 1 attempts an assertion
failure with a fallback to abort. */
{
char *crash = getenv ("M4_CRASH");
if (crash)
{
if (!strtol (crash, NULL, 10))
++*(int *) 8;
assert (false);
abort ();
}
}
#endif /* DEBUG_STKOVF */
0x08番地なんてのは何が入ってんの?
>>239 できないよ。
int a=1, b=2;
(a+b)++;
ができないのと一緒。
女性限定ばっか
組み込みや昔のゲーム機なんかは即値アドレスも使ったりするだろ。
普通はマクロ定義するでしょ。 書き捨てコード以外で直値は少なくともうちではありえない。
>>246 >書き捨てコード以外で直値は少なくともうちではありえない。
よくそういう事を自慢げに書き込む奴がいるけどさ・・・
学校の偏差値と校則の厳しさが逆相関の関係にあったように、
それは決して自慢できることではないと思うよ。
論理演算子で排他的論理和ってあるますか?
ありがとうござます
>>247 なんでこんなことが自慢に見えるのか不思議でしょうがない...。
偏差値とかわけわからんこと言い出してるし、なんかコンプレックス
スイッチ押しちゃったかな? (w
排他的論理和って ^ じゃないの?
しつこいからじゃね? 少なくとも>241のコード全文読めばマクロ名にしなくても何をやってるかは明白なんだし。 敢えてやってないんだろ なのにマクロマクロと同じ様な書き込みしてるからなんじゃないかな。 あ、俺は>247じゃないからね、念のため。
レジスタ定義なんて大抵公開してるだろ 公開してなくてメーカにレジスタ定義ももらえないような仕事はしたくないな
「xかy、どちらか一方が真なら」ってこと? if( (!(x))^(!(y)) ) { ... } こんなんか?
A と B の排他的論理和を作ってみました。お好みの物をどうぞ。 @ (A && !B) || (!A && B) A (A || B) && (!A || !B) B (A || B) && !(A && B)
サンプルソースを参考書を手に1つ1つ読み解いて行っているのですが、書きの意味が良く分かりません。 教えてください。よろしくお願いします。 BACKCOLOR(BLACK); この一文です。
夏だなぁ…。
BACKCOLORとBLACKが定義されてる箇所を探してソースを読め。
それだけじゃなんともだけどマクロじゃね? インクルードしたヘッダーファイル開いて 「BACKCOLOR」で検索してみ?
今日はどれだけ釣り針仕掛けられてたんだろ…
ほぐした結果エスケープシーケンス出力してるだけで 表示端末が未対応だったりして
Aはchar *型の値を返す、ということ。関数ポインタではない。
>>267 >どっちも関数ポインタですよね?
1)は関数ポインタだが、2)は関数。
1)の宣言の読み方は
pMは第一引数がint,第2引数がint、戻り値がintである関数を指すポインタ。
2)の宣言の読み方は
get_stringは第一引数がint、戻り値がchar*である関数。
(個人撮影)(無修正)長野県援交 高3 内○結 17才 (生ハメ中田氏 濃厚フェラ マジ抜ける).avi これをC言語にしてください
ハ,,ハ ( ゚ω゚ ) お断りします / \ ((⊂ ) ノ\つ)) (_⌒ヽ ヽ ヘ } ε≡Ξ ノノ `J
組み込みなんだが変数のサイズてcharに収まるものでもlongが演算速かったりするの? でも変数がそれなりに多い場合キャッシュ効率考えたらcharでメモリ食わないほうが結果的に早くなりそうな…
>>273 帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ帰れ
>>273 CPU や環境によるけど演算速度は同じことが多い、ただメモリーへの書き込みで char
のほうが不利になることがあるげと、キャッシュの構成とかでそうでないこともある。
要するに測定しろってことだ。
>>273 32bitCPUは32bit整数が一番速い
と言うか、Cってintがそのアーキテクチャで一番早く処理出来るサイズになるように決めてなかったっけ
無理やり1行にしてる感がひどい
はい。for文やif文を排除して、レベルの高いコードを目指した結果です。
>>277 次はマスの中に1文字ずつ出力出来るようにしてみようか
魔方陣、オセロ、5目並べと、応用範囲が広がりん具
なるほど・・
”for文やif文を排除し”ても”レベルの高いコード”にはならねーよ 典型的勘違いだからやめとけ
>>277 まずはコンパイルで警告が出ないようにしろ。
関数のパラメータ宣言に型が記されていないなんて、
スキルの高い低い以前の問題だ。
ぁ、ホントだ。なんで警告でなかったんだろ・・
三項演算子覚えたてだとすぐ使いたくなるよな その気持ちわかる
gcc -Wall では出なかった警告が、gcc -Wall -W で出た・・・ 引数の型をデフォルトのint で処理・・intがデフォなのか
さて、次の患者さんどうぞ。
普通に書いたら皆同じようなコードになるよね
大学の課題やったら友人と変数名まで一致した。
人のコードにイチャモン付ける奴に限って自分は貼らないんだよな。 駄目だと思ったところの採点や修正をしてあげりゃ良いじゃん
3項演算子使うなら void func(int h, int w) { int i, j; for(i=0;i<=h*4;i++)for(j=0;j<=w*6+1;j++)printf("%c",j==w*6+1?'\n':j%6?i%4?' ':'-':i%4?'|':'+'); } こうだな
system関数使ってrm実行以外にファイルを削除する方法ってありますか?
remove
297 :
デフォルトの名無しさん :2011/08/13(土) 15:11:12.45
C++って嫌いやねん 関数オーバーロードとかコンストラクタ・デストラクタとか 何の必殺技やねん
オーバーロードもわからんとかうんこ
このスレclassには継承すべき資産なんて無いな
どちらかというとこのスレは2chクラスのオブジェクトじゃね? っておもったけど言い出したらきりが無いな
オーバーロードが 開かれたぁぁぁぁぁ じゃから何やな にゃんこモフぅ〜
K&Rって高校レベルの英語力で読めますか?
技術用語は知ってる必要があるけど、読めるよー
原書読むの?
日本語版も出てるよ?
不自然な日本語あるよな ニヤニヤしながら読んだ
K&Rは間違いばかりで役に立たない。 calloc()も解説してないのにcfree()なんかいきなり出されても などなど 入門書としては大失格。 あれならそこらの小学生に書かせたほうがいいものができる。
??
K&Rって入門書だったのか 知らなかった
自分も K&R で入門した K&R が入門書として適切なのかは分からんけど、 一通り読んで理解したら入門は出来ると思う 実は K&R の前にも別の入門書を一冊買ってたんだけど、 数学の教科書みたいに理屈の為の理屈を並べた感じで、 実用的な話が皆無だったので捨てた
つまり、自分に理解できないことは、実用的でないと
理解は出来たけど、何で?
K&Rって実用的だったか?
the best だったかどうかは知らん
>>317 だれも K&R が実用的とは言ってないぞ。
実用的かどうかって、どうやって判断するんだ?人によるような・・
>>319 >>314 が、別の入門書を実用的じゃないという理由で捨てたと発言した
という事は、暗にK&Rが実用的だったと言った事になるだろ
314 は はたしてK&Rを捨てていないのか
K&Rは実用的っていうか、他よりましって状況だったのでは… うちにもありますよK&R
>>321 すげーな、そんな考え方でプログラマやってて大丈夫?
main()に型宣言しないとキモチワルイです
関数を作る時ってプロトタイプ宣言とボトムアップ方式どっち使ったほうがいいの?
別の本は「実用的な話が皆無だったので捨てた」 K&Rは「実用的な話が皆無ではなかったので捨てなかった」 と、解釈できるな。 だから、「実用的な話が皆無ではない本」が「実用的な本」なのか? という問題だな。
>>328 そんな変な行間読む力いらないから。
ネタで言っていると信じたいが、マジで言ってるならそんな仮定を勝手に置くのは、プログラマと
してかなり致命的だと思う。
>>329 > K&Rは「実用的な話が皆無ではなかったので捨てなかった」
捨てない理由は実用的な話の有無以外にもあるだろうし、そもそも K&R の本を捨てていない
とは書いてないよ。
そうか?
>>330 お前、やることを100%説明してもらわないと仕事ができないんだな
>>314 は仕様書ではないので、その解釈でプログラマとして云々というのはどうかと・・・
>>330 > 捨てない理由は実用的な話の有無以外にもあるだろうし、そもそも K&R の本を捨てていない
> とは書いてないよ。
わざわざ別の本を取り上げそれについてのみ捨てたと言及しているので
暗にK&Rは捨てていないと言ったと解釈できる
>>330 > そんな変な行間読む力いらないから。
プログラミング言語じゃなくて自然言語の問題だろ
自然言語は話の流れや行間を読む必要がある
>>330 お前はコンパイラになるのには向いているかもしれないが、
プログラマには不向きだよ
K&Rの行間を読む力=プログラマとしてのセンスの有無
また謎の等式を打ち立てる奴が現れたな・・・ どこから出てきたんだそれ
K&Rを読むとCのコンセプトが理解できる。 他の言語の経験者がリファレンスみたいなのだけを読んでCのコードを 書いてもCらしいコードは書けない。
彼の脳内だろ。 たまに自称芸術家で変な解釈ほざいてるおっさんいるでしょ? センスがあると思ってるんだろうけど、方向があさっての人、あれとおんなじ。(w
お前ら本当に無駄な議論好きだな 時間の無駄すぎて死にたくならんのか?
この世の中に無駄なものなんて無いんだよ
>>341 >時間の無駄すぎて死にたくならんのか?
にちゃん見てるお前もなぁ〜
みんなで 330 をいじめると楽しいね♥
どっちも自演臭いけどな
>>342 昔、ある市販ソフトの実行ファイル中に、
開発者の独り言が埋め込まれているのがあって
リビジョンが上がる度に、何て書いてあるか楽しみだった。
なんだっけ、そういうの イースター・エッグって言うんだったか
昔、DOS 用のスクリーンセイバー (.com) で、プロンプトから TYPE すると 「みたにゃ」 ってだけ表示されるやつあったなあ
ATOKのバージョンを表示させて、ロゴをダブルクリックすると・・・
C言語のコンパイラってどういう言語で作られてるんですか?
yacc lex
C とか C++
gccはgccでコンパイルしてなかったか?
VC++ は VC++ でできてるんだよな
ハードウェアはソフトウェアからできる
356 :
デフォルトの名無しさん :2011/08/14(日) 19:47:50.89
a=1 hoge[a+1] //hoge[2] hoge[(a<<1)+1] // これはhoge[3]となりますか?
機嫌が良ければ
わからない人は無理に答えなくていいです
折角だから、俺が代わりに試してみた
>>359 いや、分かる分からない以前の問題として、コンパイラ持ってないのかよ
すみませんできました MPLABです
C言語でマウス操作でGUIを部品を貼り付けてダブルクリックしたらボタンを押したときの処理が自動生成させるやつないすか
酷い日本語だな 眩暈がする
VCのダイアログエディタやりたければ製品版買え。
それ C++ じゃね?
ニートで入門編にいるようなプログラマは求められてないだろ
応用編のスレはどこですか?
なんでここってガチで入門レベルの質問すると叩かれるの?
質問になってなくて 必要な情報を隠すから
>必要な情報を隠すから 晒したところでお前らが揚げ足取りしかせんからだろ
間違ってる部分を指摘されるのが 揚げ足取りにしか感じられないなら 質問しなきゃいいんじゃね
TCC(Tiny C Compiler)ってどうなの? コンパイルは爆速でJITコンパイラでもあるという触れ込みだけど 最適化はどうなのかな? まぁ、余り期待できないか。
十分な情報を最初から出している質問に対して 揚げ足取りなんてしないよ どこで揚げ足取りしかしなかったのか示しなさい
>>339 何かの本で読んでなるほどなと思ったのが
Cの基礎の習得は驚く程簡単だが"言語のニュアンス"を身に付けようとすると膨大な経験が必要になる
という言葉。
380 :
デフォルトの名無しさん :2011/08/15(月) 12:55:27.31
充分な情報と称し要らん事を聞くやつはプログラマ的な思考ができてない。 「○○を作りたい」(漠然としているが目的は明確) ↓ 「ターゲットは」 ターゲットなんかどうでもいい。WindowsならWindows依存コードを教えてやるのか? 教えないだろう 教えるつもりもないのにターゲットプラットフォーム聞いて何になるのか。
381 :
デフォルトの名無しさん :2011/08/15(月) 12:57:27.59
CreateCompatibleDCで得た memDCをDeleteDCで開放し忘れると どうなってしまうんですか?
「CPUやメモリの容量、マザーボードの形式番号を書け」
>>380 環境に依存したコードになる場合があるからだろ。
>>363 みたいな質問だったら想定環境聞くのが一番早い
そもそもコード貼り付けて質問してくる奴にターゲットなんて聞く必要ないじゃん
あんたの指摘が的外れすぎるわ。
>>381 ハンドルリークが起こる。プロセスで何度もハンドルリークが起こると、メモリ不足やシステム不安定の原因になる。
的外れ以前に 「そういう的外れな要求してんだ」 ってことだ
暗号のライブラリを作りたいんだけど何があればいいです?
だから具体的にどれが的外れな要求だったんだ? 言うからには示せよ
>>386 自作ならば自作暗号アルゴリズムとコンパイラがあればよい
それ以外ならばもともとあるライブラリ探したほうがいいんじゃないか、と個人的には思う
これからやらなきゃいい 的外れな要求の例を挙げてやったんだから
自作暗号化アルゴリズムはすぐ破られる
勝手な妄想で勝手な指摘してたのか そんなわざわざ指摘しなくても誰もやってないかもしれないのに
暗号ってどうやって破るんですか?破られない暗号をつくるために知りたいです。
>>392 適切な板へどうぞ。この板にもスレがありますが。
破られない暗号を作るためには信頼されている既存の暗号化アルゴリズムを使うこと。 例えばAES(Rijndael)とか いずれ、新たな攻撃方法が発見されるんだろうけど、とりあえずは今一番セキュアな方法
破られない暗号を作ってもどうせ破られるんなら、最初から暗号なんて作らなければいいんだよ そこにデータがあるのに誰も見向きもしないようにしたら良い。
憲法九条の精神だな。
398 :
397 :2011/08/15(月) 16:23:00.54
tt_core.cについて 簡単なグラフィック表示などを、ちょっと試してみたいだけの時に、いちいちウインドウ生成などを書くのは面倒なので 気軽にグラフィックを利用できるように、自動でウインドウを生成して、フレームバッファーを提供してくれるライブラリーを作りました。 グローバル変数 tt_frame_buffer は、スクリーンサイズ縦x横 x 4 の、unsigned char型の配列です。 4要素で、青緑赤0で、1ピクセルを表します。各色要素は0~255の範囲です。 グローバル変数 tt_screen_width, tt_screen_height は、ピクセル単位でのスクリーンサイズです。 グローバル関数 tt_vsync() は、1/60毎に解放されるスリープ関数です。 グローバル関数 tt_flush() は、フレームバッファーの内容を、実際にスクリーンに転送します。 (このタイミングでは、まだ実際に表示は行われません。 スクリーンが更新されるのは1/60秒ごとに自動で行われます) グローバル関数 tt_init() では、argc, argv, 実質のmain()に相当する関数のポインタ、スクリーンサイズ縦、横 の5引数を渡します。 この関数を実行することでシステムが起動します。 利用手順 1. オリジナルの main() 相当の関数 original_main() を用意します。 original_main()の形式は、int f(int, char**) です。(引数にint, char** を受け取り、intを返す形式の関数) 2. main() にて tt_init() を実行し、システムにoriginal_main() と、そのargc, argv を渡します。 また、フレームバッファーのサイズも指定します。 これによって、システムが起動します。(フレームバッファー描画用のウインドウが生成されます) あとは、original_main() 以降にて、tt_frame_buffer 配列に直接数字を書きこんで、グラフィックをウインドウに表示できます。 その他の標準C関数やglib関数などは、普通に利用できます。 (たとえばprintf(); fflush(stdout);を実行すれば、コンソール側に結果が出力されます)
windows環境が無いって、まわりに友達もいないのかしら
何の役にも立たないレスだな まあ俺も役に立たないレスしてるけど
前スレのケツの方でLinux(というかUnix系OS)のリダイレクトを自慢げに語ってた奴じゃね? windowsだと駄目だとか何とかほざいてた
402 :
392 :2011/08/15(月) 20:03:31.49
どうやって破るかを聞いているであって、どうすれば破られないかなんて聞いてないんですけど?
プログラムが実行できません。なぜでしょうか。 bccとcpadをインストールしました。 そしてcpadのコンパイラパスを設定しました。 そしてプログラムを入力し実行しようとすると 「コンパイルに失敗しました。ファイル"C:\Program Files (x86)\borland\bcc55\Bin\bcc32.exe”は存在しません」 と出てしまいます。なぜでしょうか?コンパイラパスは間違っていません。
素直にVC使えばいいのに
このスレって、質問者の質問に答えないよね。
>>405 エラーメッセージから言えば、bcc32の置き場所が違うんじゃないの。
>コンパイラパスは間違っていません。
という根拠は何?
後思いつくのは、パスに空白や()を含んでいるのが、トラブルの元かもしれない。
410 :
デフォルトの名無しさん :2011/08/16(火) 00:20:14.37
>>402 仮にまともな答えが返ってきたとして、おまえ数学の理論は読めるのか?
おおかた「まともな答え」って既製のクラックソフトへの直リンのことだろw
絶対に破れるわけがない暗号と、事実上無理なだけの区別もわかんねーだろ
すんげー簡単なことなんだが・・・
>おまえ数学の理論は読めるのか? 一応、大学で電子工学、制御工学、情報工学をやったので、読めると思うんですが。 >絶対に破れるわけがない暗号と、 量子暗号のこと言いたいの? >すんげー簡単なことなんだが・・・ 簡単にお願いします。
釣りだろう
410 は自分から勝負を挑んでおきながら、逃げたと
暗号について取り上げてるスレでの発言ならまだしも スレ違いな内容でそんな大きな顔されてもね…… スレタイに(入門編)って入ってるし
416 :
デフォルトの名無しさん :2011/08/16(火) 01:24:28.35
>>411 簡単にね、あいよ
で、おまえ俺が何のことを言ったかわかったか?
いちおー縮図的な暗号で話しているんだが破れそうか?
それは破れるわけがないのか、事実上無理なのかどっちだ?
腐っても情報でてるんだろ、らしいとこ見せろや
ていうか
>>411 も大学で色々勉強してるみたいだし自分で調べたら分かることなんじゃないか?
しかもすれ違いだし。
夏だなぁ
夏厨が出没すると放置ができず「夏だなぁ」と言い出し 荒れの元となりスレ住民全体に迷惑をかける存在。 【特徴】 ・とにかく文中に「夏だなぁ」を入れないと気がすまない ・スレの流れや空気を読めず、反応してしまう ・普通のスレ住人は夏厨を放置しているのに自分だけが過剰に反応してしまう ・夏厨に反応している時点で夏厨と同類であることに気づいていない
「夏だなぁ」と言われて言い返さずにはいられなかった、と
・このコピペを張った段階で「夏だなぁ厨」と全く同じであることに気がつかない。 最後の行を削除したのは意図的ですか?
ポインタの使い方を学びましたが、利便性が全くわからない…… 誰か具体例を上げて教えて下さい
>422 あるフォルダ内にある全ファイル(サブフォルダ含む)をリスト化する必要があるとする。 10ファイル程度か10万ファイル超えるかわからない。 malloc(ポインタ)使えば必要数分のメモリ消費で済む。 配列で用意すると最大でもスタックサイズ分しか確保できない(VC標準設定で1Mバイト)。 用意された配列を使い切った場合の処置を思いつきますか?
グローバルにすればスタックサイズ以上確保できるが
>425 グローバル変数推奨派?
関数にデータを渡す時にはデータのコピーが作られる。 ある程度大きなデータを渡したりするとメモリーも時間も消費する。
最も単純なリスト構造を考えただけでも、ポインタがないと要素の追加・削除をどうするんだろうと思う。 配列だけでなんでも作れるわけじゃないし。 Javaなんてコレクション・フレームワークでデータ構造ごとに便利なメソッドを提供してくれてるけど、 内部ではどんなことしてるんだろう?結局同じことしてるんじゃないのかな?
>426 補足しただけなんだから噛み付くなよ。
>ポインタがないと要素の追加・削除をどうするんだろうと思う。 必要に応じてHDD/メモカにデータを退避、読み出し…そんなプログラム書きたくねぇorz
>>428 内部的なこと言ったらどんなプログラミング言語も最終的には機械語になる訳で
結局はアドレスの受け渡しや操作に行き着くだろ。
JavaをCで組んでるなら確実にポインタ使ってるだろうしw
単に抽象化したり隠蔽してるだけで、ポインタに近い概念はどの言語にもあるだろう
だってそれがプログラムの本質なんだから。
そうそう。
インタプリタ言語は機械語にはならないと思うけど。
インタプリタは自前で持ってるルーチンを実行する→最終的には機械語
バッチファイルもか? 8bitのBASICもか? ツクールのデータもか? 画像データも絵を描くためのプログラムになっちゃうぞ。
確かに機械語レベルで実行されるわけだが、それは「機械語になった」と言えるのだろうか。 そう言ってしまうと、スクリプトやバッチファイルまでもが機械語になることになってしまう。 しかし、どう考えてもshやバッチにポインタの概念はない。 とは言え、この流れ自体がスレ違いなので私も含めていい加減にしろ、と。
人「待て」 犬「サッ!」 人「伏せ!」 犬「サッ!」 人「お手!」 犬「サッ!」 人「よし!」 犬「サッ!」 すべて犬語に翻訳されました。
>スクリプトやバッチファイルまでもが スクリプトやバッチファイルって、インタープリター上で動いてるだけじゃん。
439 :
デフォルトの名無しさん :2011/08/16(火) 11:50:32.14
>>424 > VC標準設定で1Mバイト
変えられないわけねw
winユーザの方に質問なんですけどコンパイラ何使ってます?
cygwinのgccとVisualStudio
442 :
デフォルトの名無しさん :2011/08/16(火) 12:08:30.64
片手じゃきかないくらいいろいろ クロスまで数えると両手でもきかない バージョン管理を昔から厳格にやっといてよかった いい加減でやってたら今頃どうなっていたか想像するのも怖い
こういう自己主張できる質問だとお前ら急に元気になるんだね^^
>>436 内部的なことを言ってるだけだろうが
プログラミング言語自体が機械語でやれることしか出来ないんだから
ポインタの概念自体を無かったことにしようとししても、
"何故これが出来ないか"と考えれば行き着くところは機械語でしかない。
>>443 意気消沈する質問ってあったか?
試しにアンカーつけてみろ
446 :
デフォルトの名無しさん :2011/08/16(火) 12:32:57.46
インタプリタは機械語に翻訳しないよね?
>446 機械語には翻訳してないな。
>>446 普通は翻訳はしない
構文木ないしは命令列に対応する機械語を
内部に持ってるのがインタプリタ
もっとも、プログラミング言語の意味論は処理系のターゲットと独立に定義されていることも多い
そういう意味では
>>436 の感覚も分からない話ではない
かなり珍しいケースだが、目的言語がハードウェア記述言語だったりしたら
ポインタなんて使えんわけで、むしろ何とかして消さなければならない
なにをもって翻訳と言うのかわからんが 実行前にあらかじめ機械語にするのがコンパイラで 実行時に逐次機械語に置き換えるのがインタプリタ
>>450 >実行時に逐次機械語に置き換えるのがインタプリタ
インタプリタってこんな事してます?
452 :
デフォルトの名無しさん :2011/08/16(火) 13:24:19.32
しないよ
ポインタの話をしていたらインタプリタは機械語に変換されるかの話になった。 何を言ってるのか わからねーと思うが(ry
夏だから俺も参戦するぜ!
>>451 ,452
実行時にスクリプト→元の言語(Cとか)に置き換えるようなイメージしてるかもしれんが
インタプリタをコンパイルした時点でスクリプト→機械語に置き換えるプログラムになってるだろうが
たぶん置き換えるって言い方が釈然とせんのだろ 解析した命令ごとに適切用意されていた機械語を実行すると言えばいいんじゃなかろうか
インタプリタってどんな凄いことをやってるのかと思ったら 単なる巨大なswitch文で衝撃を受けた記憶がある
そりゃ命令列にしたらあとは対応する命令を実行するだけだろうからな どうやって命令列にするかとか、何を命令1つとして定義するかとかがすごい部分なんじゃないの
>>456 というか、CPU自体がONかOFFかの組合せで成り立っていて
それを分岐で色々な処理を形作っているんだから殆どがIF文になるのは自明だろ。
突き詰めればプログラムの全てが分岐というこった
チューリングなんとか?
>>458-459 Cに限らず、コンパイラオプションにアセンブリ吐かせるオプション在るから、吐かせて味噌
インタプリタは「print "hello"」とかのテキスト読み込んで、字句解析して「if(command == "print") { printf(element); } 」みたいな事してんだろ
多分
グローバル変数使うな! ↓ errnoがある!!!! それは グローバル変数じゃボケ絵ええええええええええええええええええええ!!!!!!!!!!!!!!!!!!!!!!!
int i; int j int main(void) { for(i=0;i<10;i++) { for(j=0;j<10;j++) { bbb(); ccc(); } } return 0; } void bbb(void) { for(i=0;i<5;i++) { ... } } void ccc(void){ for(j=0;j<5;j++) { ... } }
465 :
デフォルトの名無しさん :2011/08/16(火) 18:41:43.28
>>450 > 実行時に逐次機械語に置き換える
P6 コアみたいな理解してるの?
>>454 > インタープリタをコンパイル
sh をビルドしたからって
sh に入力する予定のスクリプトはどうもされないぞ、なんちゃって
インタプリタを実装するにあたってコマンドをいつまでも文字列で持たないで
パースが終わり次第なんらかの ID (ポインタ、ハンドルなど)にして次の段に渡すよな
ID 自体がマシン語命令ではないにせよ中間言語と見るなら
この意味では「逐次翻訳」と言えなくもない
>>440 仕事ではPGIの、趣味ではDigital Mars C/C++という俺は少数派だろうなw
最近のOSってプログラムの自己書き換えって許可してるの?
ほとんど禁止はされてないけど推奨もされてない
OSが禁止しようとするのは書き換え禁止領域に係ってきてるメモリに関する書き換えだけ。 その他は何も禁止しない。 それを禁止するのはウィルスチェックソフトあたりになってくる。
コード部分の書き換えはできないだろ。
471 :
デフォルトの名無しさん :2011/08/16(火) 22:51:19.84
つーか、OS 自体そもそも「自己書き換え」が専門のプログラムなんだが プログラムをロードして実行するわけで
プログラムをロードして実行のどこがOSを書き換えてますのん?
473 :
デフォルトの名無しさん :2011/08/16(火) 23:09:12.96
カーネルモードのドライバとかマイクロコードパッチまであるが 自らが踏むものを書き換えることと自己書き換えは何が違うって言いたいんだ?
>471 _, ._ ( ゚ Д゚) …? (つд⊂)ゴシゴシ _, ._ ( ゚ Д゚) … _, ._ (;゚ Д゚) …?
475 :
デフォルトの名無しさん :2011/08/16(火) 23:24:18.85
476 :
デフォルトの名無しさん :2011/08/16(火) 23:26:18.99
ま、おまえは Windows Update あたりから始めた方がよさそうだなw
>>474-475 実行ファイルのデータの並びがそのままメモリ上に展開されるわけではない。
普通なんらかの修飾がおこなわれる。論理アドレスから実アドレスへの変換など。
ってことをいいたいんじゃないかな。
違うと思う。
じゃあ、 OS は、そもそも自分の構成要素ではない、他のなにかをデータとして拾ってきて適切なメモリ空間に展開し、最終的にそこにジャンプする。 これは自己書き換え以外のなにものでもない。 という意味かな。
違うと思う。
481 :
デフォルトの名無しさん :2011/08/17(水) 02:12:27.82
> そもそも自分の構成要素ではない、 だから、構成要素って何だよ それを欠いたら目標を達成できないユニットのことではないのか
482 :
デフォルトの名無しさん :2011/08/17(水) 02:14:00.15
その縮図が LOADM や POKE と USR だろ
◆QZaw55cn4c氏ね
ブートストラップみたいに 1度しか呼ばれないのにメモリ上に常に居るのはもったいない コード領域を自己書き換えして後続に渡す という話とは別なの?
fork()してexec()
つ 動的リンク
487 :
デフォルトの名無しさん :2011/08/17(水) 12:34:33.36
ローダーの仕事だろ
489 :
デフォルトの名無しさん :2011/08/17(水) 16:58:15.57
へー、オーバーレイが特殊なのかい
こいつ分かって言ってんだろうか・・・?
491 :
デフォルトの名無しさん :2011/08/17(水) 17:16:35.49
ついてこれないって正直に言えよw
一般にブートストラップと呼ばれる処理に オーバーレイなんて使われてねえぞ
493 :
デフォルトの名無しさん :2011/08/17(水) 17:41:43.86
じゃスワップアウトかディスカードでいいかい?
で、なんのはなしだっけ?
C言語って何でもつくれるんですか?
子供は作れないな
彼女もむりです
子供は作れるし、ゾンビも作れるぞ
じゃあC言語で100年通用する新しい完璧な言語作ってください
printf("100年通用する新しい完璧な言語\n");
完璧な言語って100年程度で良いの?
>>501 ハードウェアの進化もあるし周辺機器の変化もあるだろうし
新しい概念も出てくるだろうし
Lisp は既に 50 年もったけど、あと 50 年くらいなら余裕で行けると思われ
50年以内に漫画とかSFに出てくるような人工知能が開発されて、 自然言語で命令すれば作業やってくれるようになると思うから プログラミング言語なんて絶滅すると思う。
それ50年前にも言われてたよね それ50年前にも言われてたよね
50年前はチェスもムリって言われてた。
ELIZA もそろそろ 50 歳か...
508 :
デフォルトの名無しさん :2011/08/17(水) 23:23:17.01
機械にできることとできないことが心底わかってない真性トーシロがム板にいる異常事態 これこそがSFホラーなんだが
509 :
デフォルトの名無しさん :2011/08/17(水) 23:25:04.20
エラーの元となるプログラムミスを見つけたときのうれしさといったら
二足歩行なんて近代までSFだったよな
今でも二足動歩行は難問
早稲田が30年近くかけてもヨタヨタ歩くものしか作れなかったのに、 ホンダが数年でスタスタ歩くものを作った事実・・ 問題は優秀な人が関わるかどうかだな
ASIMOって、C言語なの?
知らんがな
よし!二足スキップ・ロボを作るぞ!
>>512 計算機科学の分野では、フォン・ノイマンが現れなかったら今の隆盛は無かったろうな。
今後ああいうまさに天才が生まれ出てくるかどうかだな。
まぁ、日本人にはああいうタイプの天才は居ないよな。
俺を知らないとかもぐりだなお前
518 :
デフォルトの名無しさん :2011/08/18(木) 00:19:07.00
完成したら何に使うんだよ ボルトより速く走れる機械は蒸気機関車の時代からあるし シュートにボールが耐えられないサッカーロボットだって個人が作ってようつべにうpしてるだろ 機械は人間らしくなくていいんだよ 人間同士でだって適材適所があるように # せいぜい夜の面倒まで見れる TOK715 が欲しいだけな奴こそム板はあと100年は早い
人間に近い物を作る事で、人間を再発見したいの
使えるかどうかは作ってみてから考えたらええんですよ
521 :
デフォルトの名無しさん :2011/08/18(木) 00:30:03.41
>>520 そこは支持する
作ってみてる者に対してだけ
522 :
デフォルトの名無しさん :2011/08/18(木) 02:33:25.40
次の4096バイト境界をポイントするのに 1.ポインタの下位12ビットをゼロにする 2.4096を加算する という処理をしたいのですがどうすればいいでしょうか?
523 :
デフォルトの名無しさん :2011/08/18(木) 02:44:53.68
void * p; printf("%x\n", p); p = (int)p & 0xfffff000; printf("%x\n", p); p += 4096; printf("%x\n", p); もっと効率のいい方法はないですかね
x=(char*)4096+(~0xfff&(x+0xfff));
p=(char*)((int)p|0xfff)+1
526 :
デフォルトの名無しさん :2011/08/18(木) 07:58:52.23
>>525 これいいですね
>>524 ポインタに対する&演算子は使っちゃダメですとコンパイラに言われてしまいました
#include <stddef.h> #include <stdio.h> #define P_ALIGN 4096 int main(int argv, char *argc[]) { void *p; ptrdiff_t x; printf("0x%p\n", p); x = (int)p; x = (x+P_ALIGN-1) & ~(P_ALIGN-1); printf("0x%p\n", x); return 0; }
ポインタとintってサイズはいつも同じなんだっけ? ポインタのほうがでかかったら破綻するよな
529 :
527 :2011/08/18(木) 09:19:52.10
悪い、ミスった ○ x = (ptrdiff_t)p; × x = (int)p;
>>508 人工知能ができないって思い込みってどこから来るんでしょうね。
本当にホラーだわ。
>>530 誰もそんなことは言ってないと思うが
できることとできない事の区別くらいできるだろ?
532 :
デフォルトの名無しさん :2011/08/18(木) 11:17:07.53
>>530 は? 人工知能??
おまえは何の話をしているのだ?
# おえー、ガチ真性こいつ
#←これなんなの?
日本語なら俺に聞け(入門編)というスレはどこでつか?
537 :
デフォルトの名無しさん :2011/08/18(木) 12:48:32.35
#include<stdio.h> main() { int c; printf("プログラム言語Cの演習問題を 全て解ける?うむ=1 無理=2"); while ((c = getchar( )) != EOF) { if (c = 1); printf("SE"); else if printf("プログラマー"); } } と思っている 始まりはみんな一緒だと思う
538 :
デフォルトの名無しさん :2011/08/18(木) 12:48:43.43
うそつき
if (c = 1);
何の言語だこれ
541 :
デフォルトの名無しさん :2011/08/18(木) 12:57:04.25
あれぇ 間違えた?
間違いしか書かれてないが。
> while ((c = getchar( )) != EOF)
545 :
デフォルトの名無しさん :2011/08/18(木) 13:20:55.22
#include <stdio.h> void main( void ){ int ch; printf("プログラム言語Cの演習問題を全て解ける?うむ=1 無理=2 --> "); while( ch = getch(), ch != '1' && ch != '2' ); switch( ch ){ case '1': printf("SE\n"); break; case '2': printf("プログラマー\n"); break; } }
printf("プログラム言語Cの演習問題を 全て解ける?うむ=1 無理=2"); これどういうこと
548 :
デフォルトの名無しさん :2011/08/18(木) 13:29:22.99
あえて書くなら printf("プログラム言語Cの演習問題を " \ "全て解ける?うむ=1 無理=2"); かな
\ 無くてもいけるけどな
開業時に\いるのってマクロだけだっけ?
そりゃぁ、どんな商売だって開業時にはお金が必要だろ。
マクロに限らず、行末に\を置くと、行が継続しているとみなされる printf("プログラム言語Cの演習問題を\ 全て解ける?うむ=1 無理=2"); 文字列リテラルは、並べて書いたら連結される printf("プログラム言語Cの演習問題を " "全て解ける?" "うむ=1"" ""無理=2");
>>552 ほほぉ。お前さんには'\'がお金に見えるのかね。
>>545 これで良いんじゃね?
#include <stdio.h>
#include <conio.h>
int main(int argc, char *argv[])
{
printf("プログラム言語Cの演習問題を全て解ける?(y/n) > ");
printf("%s\n", getch()=='y'? "SE":"PG");
return 0;
}
>>553 継続して見なされるっつーか単に
"改行を\でエスケープしてる"
だけに過ぎん。
昔、 // 表 〜 // 裏 とかやったら〜の部分もコメントにされたことあったなあw
>>551 "hoge\
hoge"
"hoge"
"hoge"
a** ポインタのポインタマスターだけど聞きたいことある?
>>559 ベース車輛は何ですか?
トヨタのインペリアルクラウンという車種らしいんですが
トヨタに問い合わせてみてもクラウンにそんなグレードは無いと素っ気なく言われてしまいました。
どうしてもポインタマスターに追い付きたくて、まずはドライバーから入ってみるつもりです。
宜しくお願いします。
561 :
デフォルトの名無しさん :2011/08/18(木) 16:42:51.29
C言語を子供に教えようとVisual Studio 2010 Ultimateを買ったんですが、 どうやってC言語のプログラミングを開始するのかわかりません。 プロジェクトを新規作成→Visual C#→Windowsフォームアプリケーション→ でてきたForm1ウインドウのコードを表示すると、 いろいろわけのわからないコードが書いてあるのですが、ここにそのまま #include <stdio.h> int main(void) { printf("今日はよい天気です.\n"); return 0; } と書けばいいのでしょうか? 馬鹿みたいな質問ですが本当にわかりません。よろしくおねがいします。
>>560 char *car[4] = { "toyota","clown","google","rks"
};
p1 = car;
p2 = car;
p3 = car;
p4 = car;
char **p1, **p2, **p3 **p4;
printf("%c",
(略
[ ggrks ]
Visual Studio 2010 Ultimate って何十万もするんじゃ
564 :
デフォルトの名無しさん :2011/08/18(木) 17:15:04.21
釣り針じゃねーか
566 :
デフォルトの名無しさん :2011/08/18(木) 17:33:11.01
ん? 金額が? Amazonにあったのだが
仮に
>>561 がガキのためにポーンと100数十万の大枚を叩いてVS2010UEを購入したとして、
自分が知らないものをどうやってガキに教えようと言うんだろうかw
そこからして矛盾しとる。
しかもそのエディションだと豚に真珠も良いとこだ・・・
569 :
デフォルトの名無しさん :2011/08/18(木) 17:56:30.75
はい 買いました。ボーナス一括の会社経由で買ったので150万もしなかったです(二桁くらい)。
570 :
デフォルトの名無しさん :2011/08/18(木) 17:58:03.75
>>561 子供に教えるってことは、おまえさん自身がどっかで C を使ったことあるんだよな?
× Visual C#
○ Visual C++
× Windows フォームアプリケーション
○ 空のプロジェクト
ブタに真珠 馬の耳に念仏 情弱にUE
お金持ちなので失格
>>561 子供に教えるなら入門書くらい買え
最近のはVC2010EEの空のプロジェクトの作り方くらい載ってる
574 :
デフォルトの名無しさん :2011/08/18(木) 18:01:14.53
>>570 私自身は一切ないです。ただ最近よくパソコンや携帯電話のことを興味ありそうに聞いてくるので、
せっかくならプログラミングに興味を持ってくれれば将来役に立つかなと、先行投資しました。
教えて頂いてありがとうございます。分からなかったらまた聞きに来ます。
バカだ・・・来年には新しいバージョンが出るのに
576 :
デフォルトの名無しさん :2011/08/18(木) 18:03:13.74
C言語の入門書はAmazonで売れていそうなのをあらかじめ5冊買いましたがどれにも始め方が載ってなかったんです。
VC++使うならVC++の入門書で
>>561 の頭の内容のバージョンアップが必要だな。
車に興味を持ったからといって工場を買ってやる親は居ないw
親も車について知識が無いなら、オイル交換みたいな簡単な作業を
ああでもないこうでもないと親子で油塗れになりながらやるから楽しいんだ。
単に工具を買い与えれば良いという話でも無いだろう。
マイクロソフトが好きなら↓こんなので子供と一緒にゲーム作りとかすりゃ良い
http://fuse.microsoft.com/page/kodu.aspx
>>576 売れてるのだったら「やさしいC」も持ってるのかな?
これには載ってたはず
まあ、コンソールと空のナントカを選んでれば良いだけなんだが
ただ、今時のガキがコンソールプログラムを作って喜ぶだろうか? HSPとかのゲーム用スクリプト言語の方が取っつきやすいんじゃね? VSはヤフオクにでも出せ。
塚、こども何歳よ
40歳とかだったら笑うしか無いw
ネタに決まってんじゃん(゚σ ゚)ホジホジ
出る杭は打つ精神
>>581 その程度でモチベーション持たないんだったら、そもそもプログラミングに向いてないんだがなw
欲しい成果物を完成させるためにはゴリゴリコード書かなきゃならんのはGUIもCUIも変わらん訳だし
学習指導要領の改定で、中高でプログラミングが必修になるからねぇ。
>>587 そこはかとなくBASICで授業やってそうな気がするな。。。
好い加減Cなりjavaなりにした方が良いだろうに
しかし罵詈雑言か皮肉交じりしかないレスには呆れるしかない。。
実験データから差分を抽出したいんですが 以下のようなファイルが2つありまして、観測ポイント名は同じものが 両方にあります。ただ順番がばらばらなので検索する必要があります。 観測ポイント名 観測データ -------------------------- xxx.yyy.zzz.aaa 数値 ←これが2億行ぐらいあります。 Perlのハッシュ使うのとCでファイルをfgetsで読んでhserch()で 検索するのとどっちが早いでしょう?大学のLinuxマシンでやるので メモリは100GBぐらいあります。
>>589 そうか?
明らかにネタなのにちゃんとリンク貼ったり進言したりしてるじゃん。
そういう風にしかとれないあんたに呆れるしか無い
Linuxコマンドで差分を表示した方が早くね
findやlocateで100GB越えるデータ扱ったら速度的にはどうなんだろうか? やったことないので分らん。
分散処理勉強してみたら?
初期化していないローカル変数を使用したCの処理があります。 このローカル変数に0以外が入っているとエラーとなるんですが、 2年間動かし続けても1回もエラーは発生しませんでした。 しかし別の実行環境で動かしたらエラーが発生しました。 どちらの実行環境もsolarisなんですが、スタック領域を自動的に初期化するようなオプションがあったりするんでしょうか?
> スタック領域
そんなオプションあったら、却って恐い
「猫でもわかるc言語プログラミング」の第2版で勉強してるんですが、215ページ の説明で「わたすのはポインタの配列だから(*m)[2]となる」って間違ってませんか? ポインタの配列だったらm*[2]で良いと思うんですが
>m*[2] なにこれ
>>601 その本、うそばっかり書いてあるんだな。
捨てたほうがいいよ。
猫でも分かるはwebしか見たこと無いけど リファレンスとしては優秀だけど プログラミング作法を学ぶものではないと思った
猫でも分かるとかパルピコとかにひっかかるやつはプログラミングのセンスないね
センスとは? 具体的に
「猫にプログラミングが出来るはずがない」というのが分からないのは明らかにセンス無いだろ それどころか、猫がキーボードを使って意味のある文章を打ち込むのさえ至難の業だというのに
>>602 *m[2]の間違いでした
*m[2] or (*m)[2]
catコマンドw
うちの猫はOS作ったよ
mがポインタ配列への参照を持ってんじゃねえの?
>>608 *m[2] と (*m)[2] は意味がまったく違う
* 演算子より [] 演算子の方が優先順位が高いので、*m[2] は *(m[2]) と同じ意味になる
あとはわかるな?
ポインタの配列だから間違っていない
意味が違うのは分かってるんです この本の文が間違ってるかどうかを確認したいんです ポインタの配列という意味なら*m[2]が正しいですよね?
>>614 そういう意味か
すまん勘違いした
その本持っていないから正しい答えはわからん
>>598 ローカル変数だから毎回実行するたびに
スタック上にメモリが割り当てられると思うけど・・・
なんだろう?
動かし続けたっていうことは、そのプログラムは起動しっぱなし?
1行だけじゃ分からん。 全部のコード出せよ
VC++のデバッグモードのスタックは0xccccccccで初期化されてるよな。
char s[256]; printf("(´∀`)%s\n", s); (´∀`)フフフフフ…
>>614 > ポインタの配列という意味なら*m[2]が正しいですよね?
変数宣言時なら Yes
>*m[2] int i=1,j=2; int *m[2]; m[0]=&i; j=*m[0];//j=i; printf("%d\n",j); 出力 1 こんな感じか?
int (*m)[2]; って宣言するとどんな型になるの? ちょっと試してみたけど何入れても不正な代入って警告されてよくわからない
>>624 int a[] = {0,1};
int (*m)[2];
m = &a;
>>598 同じSolarisでもSolaris8辺りより前と後ではコンパイラの仕様が随分違っているよ。
同じバイナリで挙動が違うなら、コマンドインタプリタかカーネルの仕様が違うのかもしれない。
いずれにしても、何かが違うんだよ、きっと。
>>625 駄目だ頭が大混乱している
言葉で言うとmって何者?要素2の配列のポインタのポインタ?
mって配列なの?それとも1つの変数?
そうか関数ポインタと同じような表記か 要素2の配列へのポインタであってるわけか (*m)[0] #=> 0 (*m)[1] #=> 1 となるわけか
知っていて損は無いが、実際にはそういうコーディングを避けるように書く。
630 :
デフォルトの名無しさん :2011/08/19(金) 15:09:59.52
順当に必要性が出てきたら迷わず使う ただ、その頻度が低いというだけ この程度でガタガタ言うやつこそ戦力外
必要性なんてねーよ
戦力外と人を外せる立場に居る人は、ソース見たり書いたりする必要の無い役職
わかりにくい箇所を「わからないやつは無能」と放置する上司の方が無能。
いや2chやってないで働けよ
というか一人でやるわけじゃないし会社で働く以上協調性って大事だよ
636 :
デフォルトの名無しさん :2011/08/19(金) 16:18:44.90
協調性を言うなら足手まといを自覚したときの言動を正せよ
て言うか、C言語で飯喰ってるなら
>>624 ぐらいは読めないと駄目だろ。
int型変数が代入とかしてないのに、 プログラム中に値がかわることがあるんですが なにが悪いと思いますか?
>>638 放射線の影響もしくは配列の範囲を超えてアクセスかポインタの誤用
他のスレッドもしくはデバイスが書き込んでるとか。
宣言してる領域外のところをアクセスさせたからだった
642 :
デフォルトの名無しさん :2011/08/19(金) 17:45:48.89
>>638 配列またはポインタの誤用
その変数自体の値が未定義となる文脈
ハードウエア障害
パニック
おまえが追えてない
>637 それが原因のバグが発生したときに監督者、チームリーダーが責任とるならな。 部下持ってみろ、出来て(やって)当たり前と思ってることが出来ない、やらない連中なんて山ほどいる。 それでも使っていかなきゃならんのが会社だよ。そういうリスクを少しでも減らすのがリーダー、上司の役目だ。
>637 「読める」のと「瞬間的に理解できる」のと「勘違いすることが無い」は別。
早く必要性を教えてくれよ
>>643 >それが原因のバグが発生したときに監督者、チームリーダーが責任とるならな。
意味わからない。
何が原因でも、バグが出た責任は監督署・チームリーダーが責任取るでしょ?
>部下持ってみろ、出来て(やって)当たり前と思ってることが出来ない、やらない連中なんて山ほどいる。
>それでも使っていかなきゃならんのが会社だよ。そういうリスクを少しでも減らすのがリーダー、上司の役目だ。
で、いったい何が言いたいの?
>>644 出てくる頻度低いから、別に瞬間的に理解できる必要は無いと思うよ。
ああなんか、こういうのあったなと思って、ヘルプなり自分のメモなり見て正しく理解できれば十分。
647 :
デフォルトの名無しさん :2011/08/19(金) 18:52:33.58
>>643 で、リーダや上司は新入りや不良社員の肩を持ち、まともな人にパワハラしろってか
そーゆー上司の配下にいたことあるが殺意の制御が大変だったぞ
>>645 ノウハウ乞食乙
>>568 そのくらいポンポンポケットマネーで買っちゃう人で、参考書買うよりも早く変な質問しちゃう人は
プログラム作成入門コースのあるPCスクールにでも通った方がいいよね
子供にとっかかりを与えるくらいまでなら誰でもすぐ覚えられると思うから
大抵の子供に興味を与えられるようなプログラムが作成できるようにはならないとおもうから親子ミニュケーションが取れたら
子供もスクールに通わせるとかすればいいと思った
650 :
デフォルトの名無しさん :2011/08/19(金) 18:59:33.91
>>649 うん、働いてないよ
オフくらいゆっくりさせろよ
# 個人攻撃はうれしいぜ、ディベートでは
>>637 書いてあるコードは読めるけど
自発的書く場合に(要求されない限りにおいて)
>>624 のようなコードは回避してるな
#←これなんなの?
653 :
デフォルトの名無しさん :2011/08/19(金) 19:08:21.09
要求されずに書くってのは趣味か何かか? 職業じゃなきゃいけないと言いたいんじゃないが 個人的な好き嫌いとそうでないことは区別しようぜ・・・て、ここは2ちゃんだったな
>>653 コードの内容まで、すべて要求されてるの?
ひょっとしてコーダーもしくはパンチャーの方ですか?
>>653 API やライブラリ等と 自分の手の届かない範囲で
その型の変数を渡す/受ける必要がある <要求された
という意図を指したつもり
この#の人かなり詳しいみたいだし コテつけてくれるとありがたいのに
2ちゃんって基本きちんと管理されてない公衆便所の壁みたいなものだから真面目に質問なんてするだけ無駄ですよね実際
659 :
デフォルトの名無しさん :2011/08/19(金) 19:25:51.75
>>655 場合によってはね
どんな注文つけられるかは案件により想像を絶するほど違う
だけど、そうじゃなく配列ポインタが順当という場面はときどきある
卒業研究でパケットモニターの作成を予定していますが、資料があまりなく困っています。 具体的にはTCPパケットのARP番号を比較して輻輳を検出する物です。 WinPcapライブラリを使用した先輩のソースはありますがコメント・処理系がわからないため実行出来ません。 もしパケットモニター作成を解説するようなWebページや書籍があれば教えてください。 あと、こういったパケットモニターはSocketAPIを利用して作成するものなんでしょうか。 よろしくお願いします。
留年おめでとう
>>660 >具体的にはTCPパケットのARP番号を比較して輻輳を検出する物です。
まあ、卒業研究でネットワーク関連やってて、TCP の ARP とか言ってるようだと、
俺も留年は確定だと思う、 と言うか留年させるべき。
>>643 >部下持ってみろ、出来て(やって)当たり前と思ってることが出来ない、
わかるわかる。そんなの抱えてても、1人分の成果を求められるからなぁ・・・
Wiresharkのコードを嫁。
メモリ不足とかで、ファイルオープンできないとかありますかね。 実行中にファイルオープンエラーでたりするんですが。
>>660 なんにも理解してなくて、丸投げで、、、あほ?
>>665 実を言うとね同時にオープンできる数は決まっていたりね
ほかがオープンするのを拒否したりね
卒業までくさるほど時間あるんだからぐぐれかす
ディスクリプターを閉じろ。そして開けろ。
C言語って、デフォルト引数、導入されてたっけ?
673 :
デフォルトの名無しさん :2011/08/20(土) 00:14:25.03
>>663 土方1人分の成果をいくら追求しても
監督1人分の成果が出るわけがないからなあw
墨壺1つまともに使えない新入りのために熟練工に愛想尽かされて
部下想いだとか先見の明だとかお笑い劇場でもやってんのか?
現場を知らず好き勝手言ってる連中乙
熟練は保守性とのバランス重視だろ。
なにこのスレッド C言語の話してないじゃん
Cは扱う範囲が広いって知らないの?
ゆりかごからはかばまで
どうしてC99は普及していないの? C99はいらない子なの?
680 :
デフォルトの名無しさん :2011/08/20(土) 02:09:33.52
だってあまりにも頭悪そうなリーダーっぽい発言が多いから 頭悪そうっちゃ語弊があるかも知れんが 少なくともアセンブラワカリマセンにデンシデンキテッコウセキワカリマセンに 極めつけはセキュリティなんぞよくて数学科 M2 の胸先三寸なのに仲間割れ、あとせいぜい高木先生の日記だろ あげく出荷できてきているのは何だっけ? え? 何だっけ?? 誘導先をマ板か低脳スレかで迷うんだよ、厨房板か最悪板って候補まで挙がってる リーダー腐んなよ、メチル水銀やモンサントなんぞ比にならないほどの国難だぞ! 御用学者ですらない者のレベル7は考古学者のねつ造よりもひどい、末代まで語り継がれる地球人の恥だ 椅子に負けんなよ わかってんのか腐ってもここは Japan だぞ(泣 斬鉄剣の発祥地がアゲモノさんの轍をふんでどーすんだよ
長すぎて読む気しない。2行以内にまとめろ
Japanだぞ!キリッ
#使わなくなったな
>>680 お前、筒井康隆のゴーストライターになれるんじゃね?
今C++とかでなくCを指定されるような仕事(環境)ってあるの?
ある
組み込みとか
とか、って、他にあるの?
UNIXで通信系業務システムのサーバーだが、アプリは全部Cで作った。 DBは使っていない。クライアント数は10万くらいが常時つながっている。
>10万くらいが常時つながっている うそん
ここっていうか2chのread.cgiもC言語でしょ
何台のサーバで構成されてるんだ? 塚、10万??どんな業務なんだ?そんなのあるか?
>常時つながっている 脳内で、だろ。常時establishって意味じゃないだろ。
別に普通だろ
お前ら現実見ろよ たまにはこのスレにもちゃんと仕事してる人が現れるよ
TPモニタを作ったってわけじゃないだろ。単にサービスを作っただけだろ。
の下請け
の親会社
あらやん♥
逆にC++なんてどうでもいい用途にしか使わないよ
むしろ、C++の方が組み込みとかに使うのではないかと
>>706 androidはjava + C
AIBOはC++
androidみたいな組み合わせが組み込みでは主流になりそうな予感
そうなのでございますか
C++の標準ライブラリ使えない環境だってあるんだよ
STLを?なして?
C+-
それを言うなら(--C)++
'C'++
>>704 超訳してみました。途中で力尽きました。
望まない誘い、情に絡んでのあまりも困難な要求(訳注:sex のことね)に対しては、
エチケットに精通した人でも皆同じアドバイスをするものだ。いわく「No ということ。」
「できないことは怖い。」この心理的公式――マナーの達人 Emily Post(訳注1) 考案のものだが――は、
たしかに薬物中毒になってからでは役にはたたないであろうが、たとえば親類が 2 週間居候させてくれといわれたり
同僚に自分の仕事をおしつけようとされたりしたときには、いまだに金言である。
あれこれいいわけしても交渉は進まない。こんなときは多少無理くりでもやりかえすしかない。
(皮肉屋 Peter Cook(訳注2) の「あ、その日はテレビをみるつもりなのを思い出した、ごめんね」とか)
あるいは、説明にもならない類語反復なんかも私はいいと思う。(「私には無理だからできない、ごめんね」)
結局、No というのに一番いい方法は単に No ということだということ、だし、これらはその変化球なのだ、おわり。
しかし No ということ、これを学ぶのは、山というばかりのその手の本の数から判断するかぎり、不可能らしい。
「ポジティブに No という力」・「罪悪感を感じずに No という方法」、「No の本」(訳注:これらの本は実在し
原文にはリンクが張ってある。)出版社も No といえないんですねえ。そうそう最近出た No に関する本を二つあげておこう。
Marshal Goldsmith の「魔よけ本」、それと Claire Shipman, Katty Kay の「女性学」だ。
これは disease to please ―― 喜ばせる病 ―― 英語の文法ではちょっと変な言葉だけれども、 韻をふんでいるし、心理学っぽい感じがするよね。 この手の話には自己の確立・罪の意識など、深いテーマが確かににじみでているのだけれども、ちょっと考えてほしい。 二つのタイプの人間― Asker と Guesserがいるという事実から発生している問題もあるかもしれないことを。 この用語は andrea Donderi の Web 投稿に由来するものだ。彼は Web の世界ではマイナーだけれどもちょっとしたカルト的地位を得ている。 彼の理論に従えば、我々は asker 文化・guesser 文化のいずれかのもとで育ってきた。 asker 文化のもとでは、人はなんでも求めるのだ。人を好きになったらすぐに求めるし、お給料の値上げもとりあえず求めてみる。 はっきり No といわれることがわかっているような場合でもである。 一方、対照的なことに guesser 文化のもとでは、人は「答えが yes であると確実に確信するまでは要求することを避ける」のだ。 その文化のもとでは、「大事な技術は、他人の感情に細やかに感じることができることであり、もし十分に敏感であれば、そもそも 直接要求する必要はなく、正真正銘のお願いであれ形式的なものであれ、まず向こうから申し入れてくるだろう。 そのときも、相手自身があらかじめ、こっちが申し入れを受け入れるか断るかをわかるだけの技量と繊細さを持っているだろう。」 ‥‥‥誰か続きをお願い。
1行に5個ずつ出力する場合の 改行の指定ってどうすればいいんですかね?
上の補足ですが、配列に入れた20〜1を順に出力します。
すいません普通に解決できました。 スレ汚し失礼しました。
720 :
デフォルトの名無しさん :2011/08/21(日) 16:17:28.27
誰か頼む #include <stdio.h> #include <string.h> int isdelim(int); main() { int kwlen,elen,clen,wcnt = 0,kcnt = 0; char chr,kw[30]; FILE *fp; printf("Input key word ==> "); scanf("%s",kw); kwlen = strlen(kw); clen = 0; elen = 0; fp = fopen("IN.txt","r");
721 :
デフォルトの名無しさん :2011/08/21(日) 16:18:05.90
続き while ((chr = fgetc(fp)) != EOF){ if (isdelim(chr)){ if (clen != 0){ 【問a】アclen++ イkcnt++ ウwcnt++ エwcnt-- if(【問b】アkwlen == clen イkwlen == elen ウkwlen == elen && elen == clen) エkwlen == elen || elen == clen) kcnt++; clen = 0; elen = 0; } }else{ clen++; if(【問c】アclen == elen イchr == kw[clen] ウchr == kw[elen] エchr == kw[kcnt]) elen++; } } fclose(fp); printf("キーワードと一致した単語数 = %d\n",kcnt); printf("全単語数 = %d\n",wcnt); printf("キーワードの出現率 = %f%%\n",(double)【問d】アclen*100/elen イelen*100/clen ウkcnt*100/wcnt エwcnt*100/kcnt); }
宿題スレ行け。 あと >int isdelim(int); この関数のソースも書け。
main() { int kwlen,elen,clen,wcnt = 0,kcnt = 0; char chr,kw[30]; FILE *fp; printf("Input key word ==> "); scanf("%s",kw); kwlen = strlen(kw); clen = 0; elen = 0; fp = fopen("IN.txt","r"); while ((chr = fgetc(fp)) != EOF){ if (isdelim(chr)){ if (clen != 0){ wcnt++; if(kwlen == elen && elen == clen) kcnt++; clen = 0; elen = 0; } }else{ clen++; if(chr == kw[clen]) elen++; } } fclose(fp); printf("キーワードと一致した単語数 = %d\n",kcnt); printf("全単語数 = %d\n",wcnt); printf("キーワードの出現率 = %f%%\n",(double)【問d】アclen*100/elen イelen*100/clen ウkcnt*100/wcnt エwcnt*100/kcnt); }
main() { int kwlen,elen,clen,wcnt = 0,kcnt = 0; char chr,kw[30]; FILE *fp; printf("Input key word ==> "); scanf("%s",kw); kwlen = strlen(kw); clen = 0; elen = 0; fp = fopen("IN.txt","r"); while ((chr = fgetc(fp)) != EOF){ if (isdelim(chr)){ if (clen != 0){ wcnt++; if(kwlen == elen && elen == clen) kcnt++; clen = 0; elen = 0; } }else{ // clen++;間違っとるぞ if(chr == kw[clen++])//こうだ elen++; } } fclose(fp); printf("キーワードと一致した単語数 = %d\n",kcnt); printf("全単語数 = %d\n",wcnt); printf("キーワードの出現率 = %f%%\n",(double)kcnt*100/wcnt); }
int isdelim(int chr) { return (chr == ','); } IN.txt auto,break,case,char,const,continue,default,do,double,else,enum,extern,float,for,goto,if,inline,int,long,register,restrict,return,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile,while,_Bool,_Complex,_Imaginary if Input key word ==> キーワードと一致した単語数 = 1 全単語数 = 36 キーワードの出現率 = 2.777778%
726 :
デフォルトの名無しさん :2011/08/21(日) 18:43:17.89
しょぼい質問ですいません 正負を反転させるコードはどうすればよいのでしょうか 4を−4にするみたいな
728 :
デフォルトの名無しさん :2011/08/21(日) 18:45:52.58
>>727 あ そうか
思い浮かばなかった
ありがとう
int a = 4; a = -a;
a-=2a
1 + ~a
732 :
デフォルトの名無しさん :2011/08/21(日) 20:06:05.33
落書きはいいから質問に答えろよ馬鹿ども
733 :
デフォルトの名無しさん :2011/08/21(日) 20:13:18.14
最近Cを始めたんですけど どうやったら普通のソフトみたいに絵をだしたりできますか? いまは黒い画面しかだせなてくてよくわかりません
OS名+使用言語名+グラフィックライブラリ使用方法 でぐぐる。
736 :
デフォルトの名無しさん :2011/08/21(日) 20:47:18.59
Cじゃ無理なんですか? exeファイルっていうんですかね?
737 :
デフォルトの名無しさん :2011/08/21(日) 20:49:29.67
http://www.youtube.com/watch?v=tfQJvnkj-Zo 列途中で途切れてるから6分ね。
5倍速だから6×5=30分。
結構歩く速度遅いから時速4km。だから、列は2km。
人が50cm間隔に並んでいると考えて、200000÷50=4000
横に人が4〜5人並んでいるので、
4000×4.5=18000人。
チャンネル桜3500人+この後来た一般市民5000人で、
18000+8500=26500人
★★★★★26500人です★★★★★
主催者の目標1000人だったから、目標の26.5倍w
>>738 よくわかりました。ありがとうございます
>>733 win32APIをC言語から使う
苦難の道だが、勉強にはなる
C#覚えるって逃げ道も有り
>>737 規定されていないことができるから、非標準っていうことじゃないのか。
さあ
743 :
デフォルトの名無しさん :2011/08/21(日) 23:23:44.36
744 :
デフォルトの名無しさん :2011/08/22(月) 11:54:05.27
プログラムを勉強したいのだが、最初はC言語で大丈夫かな? ついでに誰か初心者におすすめの指南書を教えて下され。
>>744 The C Programming Language(通称K&R)がオススメ
746 :
デフォルトの名無しさん :2011/08/22(月) 12:09:45.48
高橋麻奈女史は美人だと聞いたことがあるが、実際はどうなんだろうな
麻奈タソは今年で40歳w
40って、初老じゃん
やさしいC出てから10年以上経ってるしな。。。 (今は第3版だっけ?)
お前達ネトウヨが8000人反韓デモ(笑)に必死になっている最中 少女時代とKARAは復興コンサートに精を出し4万人の観客を集めたのだった
なに?復興をネタに金儲けか・・タクッ
int a=1;
プログラミングするにはパソコンでなにかインストールしなきゃならないの?やっぱり金かかる?
757 :
デフォルトの名無しさん :2011/08/22(月) 23:49:43.81
300万ぐらいは見といたほうがいい
300万で済むならまだ良い方だな
まあ機会費用的に考えるとあながち嘘ではない
渋谷で服買うには、まず袋で服買わなきゃならないの?やっぱり金かかる?
本気で聞いてるとは思えない。ネタならもっとマシなものを投下せよ。
762 :
デフォルトの名無しさん :2011/08/23(火) 00:29:25.45
メモ帳とコンパイラがあればとりあえずは
VirtualStudioEspressoってのが無料
764 :
デフォルトの名無しさん :2011/08/23(火) 00:31:26.49
最後のoが余計だな
学生ならdreamsparkでVS2010proやその他いろいろ無料だお
767 :
デフォルトの名無しさん :2011/08/23(火) 00:59:28.35
VisualStudi?
捗るテキストエディタ教えてください
769 :
デフォルトの名無しさん :2011/08/23(火) 01:04:14.42
紙と鉛筆とOCR
dreamsparkのキャンペーンは6月30日までみたいだぉ(´・ω・`)
>>769 4色ボールペンを使えばシンタックスハイライトも出来るぞ
StrawberryPerlにCコンパイラが付いてくるのでそれを使ってる
はんどあせんぶら
途中抜粋ですが、こんな感じの関数で ・呼ばれたら、aaaが4になるまで無限ループ ・4になったら関数kansuuの呼び元にaaaを返す という処理なんですが、これでaaaが「1」で返ってくる可能性なんてありますでしょうか? 悩んでいます…。気になるのは、無限ループ内のswitch文の「break」ですが これって無限ループまで抜けませんよね?(case 1~3間のbreak文は意図的に抜いてます) 回答をお願いします。 int kansuu(void) { while(1) { aaa = get_aaa();←aaaの値を取得してくる関数 switch(aaa) { case 1: case 2: case 3: break; case 4: return aaa; break; default: break; } } }
すみません、上手くインデントできてなかったですorz
>>775 linux の gccの場合だと
int f(void) {return 1;}
int g(void) { }
main()
{
f();
printf("%d\n", g());
}
これで、なぜか1と表示される。(g()は何もreturnしてないのに)
これは、
f()のリターン値である1がスタックに残ってて、
それをg()が戻り値不定のために、g()の戻り値として1が設定されたと判断してしまい、けっか、printf() で1が表示されてしまうのだと思います。
aaa = get_aaa()
が、0を返した場合、戻り値が不定で kansuu() を抜けると思う。 while(aaa) は while(aaa != 0) なので。 aaa == 0 の場合は、ループが一回も実行されない。
こうして、return aaa; 意外の場所から、リターン値が不定のまま関数を抜けた場合、f(), g() のケースのように、なんらかの形で kansuu() が1を返す場合もあるかもしれません。
なにいってんの?
>>775 >これでaaaが「1」で返ってくる可能性なんてありますでしょうか?
ない。
>無限ループ内のswitch文の「break」ですが これって無限ループまで抜けませんよね?
抜けない。
そもそも、このkannsu()はaaaの型が宣言されていないので、コンパイルできない。
ちゃんとコンパイルを通ったコードを貼ってください。他の所に問題があるかもしれません。
こちらでは、普通にget_aaa()が4を返したら抜けてます。
ttp://codepad.org/KdnpmaHE
>777は何故、while (aaa)だと思ったんだろう……
同じファイルをfopenし続けて 最終的にfcloseしないままプログラムが終わるプログラムって 何か悪いことあるんですか?
オープンしていたファイルに何をしていたか、どのような終わり方をしたか、による。 何かを大量に書き込んでいて、正常にクローズせずに異常終了した場合、 ファイルを壊す可能性がある。
正常終了したらオープンしてるファイルは自動で閉じられるけど、 同じファイルをfopen()していた場合、閉じる順序とかどうなるんだろう。 閉じ方によっては、バッファのフラッシュで整合性とかくずれるかも しれない。
>>777 >>779 ありがとうございました!
携帯からなので、ID違います。
コードの構造的には>>779さんが言うように問題ありませんでした。
caseの値が間違っていました…
上では数字で簡略してたので気づきませんでしたが。
>>779さんが確認で使ってるやついいですね、家で見てみます
学校のパソコンでしかできないのも大変なので
>>781 自分だけがそのファイルを開いているなら、別に問題ない。
どっかの馬鹿が書いたような、整合性が取れないなんてことはないから。
但し、速やかに閉じた方がいいのは言うまでもない。
何故なら、他のプロセスが開いたり移動したり削除したりして壊すかも知れないから。
osが勝手に排他制御みたいなのやってくれてるのかと思ったら そんな事はないんだな
>>787 OSはプロセスまでは保護するけど、スレッドは完全にプログラム(プロセス)の管理だからね。。。
ごめん 的外れな回答だった
直線書く関数って結構奥深くね?
791 :
デフォルトの名無しさん :2011/08/24(水) 21:01:53.61
いいえ
すごいな真性バカって、思い込みで人をバカ扱いなんて・・・
793 :
デフォルトの名無しさん :2011/08/24(水) 21:55:40.49
中学生は寝る時間でっせ
795 :
777 :2011/08/24(水) 23:24:34.35
>>780 ほんとだ、なんでだ?
wihle と switch って見た目が似てるよね…orz
wihle じゃない。while だ。目医者逝け。
もうグズグズw
浮動小数点の符号ビットだけクリアってできないの?
>>798 できるよ。fabs()はしばしばそのように実装されている。
質問があります. unsignedとsigned型は上位の1ビットを符号と見なすかどうかの違いと理解しています. 上位一ビットを符号と見なすかどうかはどこで管理しているのでしょうか?
>>800 コンパイラが解釈して全体的にもういいやってなるとオブジェクトファイルに書き出すじゃん
そして多分オブジェクトファイルになると型情報はもう消えてると思う
>>800 吐き出すコードの中
符号付演算,比較 ⇔ 符号無し演算,比較 をコンパイル時に(その型から)決定してるん
804 :
800 :2011/08/25(木) 16:55:39.71
>801,802 言われてみればそんな気がしてきました. 解決しました.
てs
これいくらreの正規表現を変えてもbuf.re_nsubの値が0になるんですが 何か間違えてるんでしょうか? (コンパイル&実行環境はubuntuです) #include <stdio.h> #include <string.h> #define __USE_GNU 1 #include <regex.h> int main(int argc, char **arg) { const char re[] = "((a*)b)*"; struct re_pattern_buffer buf; buf.translate = NULL; buf.fastmap = 0; buf.buffer = NULL; buf.allocated = 0; if ((re_compile_pattern(re, strlen(re), &buf))==0) printf("re_nsub -> %d\n", buf.re_nsub); regfree(&buf); return 0; }
正規表現を格納するバッファにNULLを設定して、なにをどう評価しようってんだ?
linuxで使えるC言語のコンパイラーってないんですか? gccとか言うなよ
Wineでcl.exe動くよ
英語できません
開発環境抜きなら wine でほとんどのコンパイラが動くと思う
>>808 re_compile_patternの資料が余りないので、古いtexinfoを読んでみると
http://www.cs.utah.edu/dept/old/texinfo/regex/regex.html#SEC46 buffer
allocated
If you want re_compile_pattern to allocate memory for the compiled pattern, set both of these to zero.
If you have an existing block of memory (allocated with malloc) you want Regex to use, set buffer to its address and allocated to its size (in bytes).
re_compile_pattern uses realloc to extend the space for the compiled pattern as necessary.
re_compile_patternに勝手にメモリ割付けさせたいならこの両方の値に0を入れろという事なので0(NULL)を入れました。
試しに
buf.buffer = malloc(256);
buf.allocated = 0;
としても結果は同じでした。
815 :
814 :2011/08/26(金) 14:53:37.60
>>814 済みません間違えました
buf.allocated = 0;
じゃなくて
buf.allocated = 256;
です
817 :
デフォルトの名無しさん :2011/08/26(金) 15:31:57.75
メインルーチンに、なぜコマンドラインを用いいているのかよく分かりません メインルーチン内でどのように動いているのか教えて下さいm(__)m olve();あるパズルを解く関数 clock();計測時間を返す関数 int main(int argc,char**argv) { double StartTime=clock(); int i,num; if (argc==2) num=atoi(argv[1]); else num=1; for (i=0;i<num;i++) Solve(); printf("実行時間 %.3f 秒\n",(clock()-StartTime)/CLOCKS_PER_SEC); return 0; } // s
818 :
817 :2011/08/26(金) 15:34:27.95
誤 olve() 正solve() です、宜しくお願いします
819 :
817 :2011/08/26(金) 15:37:29.82
もしリールファンだったら、アーセナルを呪うだろうな 金はおいしいけど
820 :
817 :2011/08/26(金) 15:38:46.97
つい、パラレルワールドがでてしましました すいませんm(__)m
すいません、sageもしてませんでした
Solve(); の実行時間がとても短くて 計測不可/計測誤差大きい という場合に 実行時引数で 繰り返し回数 n を渡してもらい n回繰り返した時の時間を計ることで 精度を上げようとしてるのではないだろうか
823 :
デフォルトの名無しさん :2011/08/26(金) 16:29:57.01
一日20時間hexダンプを眺めていても頭がおかしくならない方法を教えてください
わしの一日は28時間あるぞ
hexで考えるんだ!
文字じゃなく、模様だと思えばいいんじゃね?
眺めてるだけなら眠気を覚ますだけでいいんだけどな・・・
で、柴田さんの明解C言語ってどうなんですか実際
普通
830 :
デフォルトの名無しさん :2011/08/26(金) 20:33:56.08
はるひこにしとけ
K&R以外は全部糞
入門書なんてwebに転がってる文法に一通り目を通すだけで充分。 後は人の書いたコードをひたすら読み、分からない所は自分でテストコードを書いて試す。 面倒臭がらずに自分で書いてみる事で、くだらん入門書を読むより数倍力が付くしCの理解度も増す。
833 :
デフォルトの名無しさん :2011/08/26(金) 21:46:24.81
教えて下さい! Cでもいくつかバージョンがありますよね? バージョンによって速度は結構変わったりするのでしょうか? 複素数を扱う必要があるので,<complex.h> を使おうかと思っているのですが, それによって速度が結構変わるようならば、 他の方法を考えた方がいいかと思いまして…
834 :
デフォルトの名無しさん :2011/08/26(金) 21:47:15.97
速度は問題になってから考えろ
>>833 ターゲットのCPUが Intel なら Intel のコンパイラ買えばいいと思うよ
最適化がすごいらしいという噂
複素数とか何につかうんだ?
837 :
デフォルトの名無しさん :2011/08/26(金) 22:30:28.53
回路のシミュレーション
先生に聞いたことがある。 +極と−極で使うとか。 そんな感じですか?
使うようになれば嫌でも覚えるから それまでは気にしなくていい
840 :
デフォルトの名無しさん :2011/08/26(金) 22:48:30.37
微分方程式解くのに使う
フグソースならテトロドトキシンによる毒殺に使う
交流回路のシミュだな
過渡状態かもしれん
845 :
デフォルトの名無しさん :2011/08/26(金) 23:58:15.21
2次元空間での回転
fftとかhftとか
scanfについての質問です. char str[10]; scanf("%9s%*[^\n]%*c",str); というコードについて分からないことがあります. もしも、9バイト以下の文字列,例えば「abcde(ENTER)」((ENTER)は改行) が 入力された場合,文字列「abcde」が配列 str に格納され,入力ストリームに (ENTER) が残るらしいのですが,何故改行が残ってしまうのでしょうか. 自分は,%9s によって文字列「abcde」が配列 str に格納され,%*[^\n] によって 改行直前までの文字列(この場合は 0 文字)が読み込まれて代入抑止され,%*c によって 改行が読み込まれて代入抑止されるから,入力ストリームには何も残らないはずだと 思っていたのですが,何故この考えが違うのかが分かりません.
>>847 %*[^\n] で失敗すると次の %*c にはいかないから
849 :
833 :2011/08/27(土) 01:22:24.31
皆さんありがとうございます
電磁波の伝搬,吸収あたりのシミュレーションで使います
複素屈折率とか使って計算します
とりあえず計算させてみて,どうしても遅い様なら考え直します
>>835 会社の計算機に入ってます
それを使う予定です
BYTE型の配列のBIT位置を上下入れ替えたくて以下の様にコーディングしました。 とりあえず動作はしているのですが、もっと美しい(早い)方法はないでしょうか? ビットフィールドの使用を思いついたのですが、あまり一般的では無い様なのでアドバイスをお願い致します。 for(i=0;i<Size;++i) { tmp = 0; up = 0x01; dn = 0x80; for(j=0;j<8;++j) { if(( num[i] & up ) == up ) { tmp += dn; } up = up << 1; dn = dn >> 1; } num[i] = tmp; }
851 :
850 :2011/08/27(土) 02:27:05.24
// 23ms for(i=0;i<Size;++i) { org.byte = num[i]; tmp = 0; if( org.bf.bit0 ){ tmp += 0x80; } if( org.bf.bit1 ){ tmp += 0x40; } if( org.bf.bit2 ){ tmp += 0x20; } if( org.bf.bit3 ){ tmp += 0x10; } if( org.bf.bit4 ){ tmp += 0x08; } if( org.bf.bit5 ){ tmp += 0x04; } if( org.bf.bit6 ){ tmp += 0x02; } if( org.bf.bit7 ){ tmp += 0x01; } num[i] = tmp; }
852 :
850 :2011/08/27(土) 02:27:36.10
// 71ms for(i=0;i<Size;++i) { org.byte = num[i]; conv.bf.bit0 = org.bf.bit7; conv.bf.bit1 = org.bf.bit6; conv.bf.bit2 = org.bf.bit5; conv.bf.bit3 = org.bf.bit4; conv.bf.bit4 = org.bf.bit3; conv.bf.bit5 = org.bf.bit2; conv.bf.bit6 = org.bf.bit1; conv.bf.bit7 = org.bf.bit0; num[i] = conv.byte; } 850の入れ替え時間は65msでした。 希望は10ms以下なのですが、何か良いアイデアありませんか?
x=0x80<<(x^1)|0x40<<(x^2)|0x20<<(x^4)|0x10<<(x^8)|0x8<<(x^0x10)|0x4<<(x^0x20)|0x2<<(x^0x40)|0x1<<(x^0x80);
8bitなら表引きすればいいじゃん
BYTE型ってなんのこと?
表引き用の配列はCで書けるでしょ 256バイトがもったいないって考えなら、やめたほうがいいけどね
なら4ビット毎に分けて処理とか。16バイトで済む。
860 :
850 :2011/08/27(土) 11:42:57.44
テーブルを使用して9msまで短縮する事ができました。 有り難うございました。
rand関数でキーを作成しました。ですがrand関数では暗号はすぐに破られるとききます。 そこで本当に破られるのかどうか、皆さんに暗号を解いていただきたいです。 キーは20個あればいいでしょうか? 8AF5-H15F-K82A-AYRU 5671-G25D-94BU-E9H3 88XD-7B8A-R6Q1-P487 21D2-1HGH-4C33-68LG 8P7F-D521-4G3N-29X8 756T-G2G2-276G-D74J 17T8-7B23-WCGN-61Z8 SHIV-6C2G-VEI7-424M J88K-C6A8-4E2N-43BX IS6L-C6VO-VFI8-IXT3
I6NN-1H12-HE4D-46L7 Y19C-492R-BJW1-9548 PQ52-7B3F-AFYG-3P8L PO46-G27B-W8HZ-AJJ9 3DY7-168L-V6J2-CMVO 2AV3-2G4E-R679-CG32 28P8-DV1H-S168-HWE4 8LE8-A88A-RD7A-59QY 5Z7K-G2E4-G6N8-CAG4 8FW4-H1SR-93D1-FK8X 生成アルゴリズムは後日記載します。
意味ワカンネ キーをさらしてどうすんだ 暗号解読ってのは暗号文を見てキーを当てるゲームだぞ それとC言語関係ないから暗号のスレでやってくれ
864 :
デフォルトの名無しさん :2011/08/27(土) 13:40:04.08
また湧いたか
865 :
861 :2011/08/27(土) 14:09:42.07
C言語の勉強していて、rand関数の項目をやったときに作ったプログラムなのでこのスレだと思ってしまいました。すみません。 セキュリティ板で適切なスレを探したのですが見つかりませんでした。もしよろしければ誘導していただけますか?
うざいから出ていけ
868 :
デフォルトの名無しさん :2011/08/27(土) 16:58:37.25
printfのダブルクオーテーションの中でマクロ展開したいけど絶対にできないんですか?
やりたい事をもう少し詳しく
>>868 それは絶対無理
でもやりたいことはできると思う
え、やろうと思えばできるでしょ、中身は文字列だから
インタプリタ実装しろってか
そうとらえてもいいけど、楽できるようなことではないことは確か
何がしたいか、それが出来るなら解決じゃないの?
876 :
デフォルトの名無しさん :2011/08/27(土) 18:20:59.54
Visual C++ 2010 ExpressでGUIを作るのはキツイですか? Visual Studioは高いので控えたいのですが
君には無理
>
>>868 ですが
dir1/dir2/hoge.txt
っていうファイルがあったときに
マクロで
#define DIR1 dir1
#define DIR2 dir2
#define TXT hoge.txt
を定義して
print("DIR1/DIR2/TXT \n");
でファイル名を表示させたいです
それくらいならなんかやり方があったな
””でくくってりゃできるんだろうけど
>>861 キーを載せてどうする。暗文をのせろよ。
880で出てるけど シンプルにやるならコレでいける #include <stdio.h> #define DIR1 "dir1" #define DIR2 "dir2" #define TXT "hoge.txt" void main( void ){ printf("%s/%s/%s \n", DIR1, DIR2, TXT); }
#define DIR1 "dir1" #define DIR2 "dir2" #define TXT "hoge.txt" puts(DIR1"/"DIR2"/"TXT);
文字列連結でそのままできるじゃないか
トンクス
え?
887 :
868 :2011/08/27(土) 19:08:03.95
TXTがhoge%d.txtの場合だったら 更に分けて #define HOGE hoge #define TXT にして printf("%s/%s/%s %d %s \n", DIR1, DIR2, HOGE,数値 ,TXT); みたいなまでことしないといけないですよね?
888 :
デフォルトの名無しさん :2011/08/27(土) 19:12:20.73
889 :
868 :2011/08/27(土) 19:18:40.75
ファイルがhoge%d.txtの場合だったら 更に分けて #define HOGE hoge #define TXT .txt にして printf("%s/%s/%s %d %s \n", DIR1, DIR2, HOGE,数値 ,TXT); みたいなまでことしないといけないですよね?
マクロにこだわるならそうなるね #define DIR1 "dir1" #define DIR2 "dir2" #define TXT(x) "hoge",x,"txt" printf("%s/%s/%s%d%s \n", DIR1, DIR2, TXT(20));
891 :
868 :2011/08/27(土) 19:30:15.79
>>876 C#で作らないのは何故?
有料無料問わず、VC++でGUIはキツイよ
(win32APIで全部書くよりは、MFCが楽かな。程度)
速度が要求されない限り、VB/VC#を使った方が良い
VC++ExpressはCとwin32APIの学習用途
有料のVS(VC++&MFC)は完全に企業向けのプロ用途
実用的なソフトを「楽に」書くのには有料無料問わず、向いてない
(C++/CLI?まあ、楽だけど。。。素直にC#で書いた方がもっと楽)
893 :
デフォルトの名無しさん :2011/08/27(土) 20:50:26.53
ねぇ、ワイド文字配列から一文字だけ取り出すのってどうやるの?
894 :
デフォルトの名無しさん :2011/08/27(土) 20:53:46.90
WCHARなら1要素に1文字入ってる
895 :
デフォルトの名無しさん :2011/08/27(土) 20:54:50.43
もうちょい詳しく頼む
896 :
デフォルトの名無しさん :2011/08/27(土) 20:57:51.68
要素ってhairetsu[2]とかってことだよな? さっきそれで'あ'を表示させようとしたら変な四角が表示されたんだが
897 :
デフォルトの名無しさん :2011/08/27(土) 21:04:13.61
だからサイズが違うって
>>889 #define DIR1 "dir1"
#define DIR2 "dir2"
#define TXT "hoge%d.txt"
int a = 12;
printf(DIR1"/"DIR2"/"TXT ,a);
これじゃ駄目なの?
char ch[10] = "あいうえお"; printf("%c%c\n", ch[4], ch[5] );
簡単なことを難しく考えてハマるタイプだね 難しいことを難しく考えてハマるタイプのほうが多いかも
理解できないのに無理に口を挟まなくていいです
日本語で理解しようとしてる所がすごいかも
どれがどれに対するレスなのかわからん
壊れた人間の戯言だと思ってくれ
ホントにわからないならレスすんな
C言語のことがホントにわかってる奴っているのか?
自分に理解できないから、他の人間も同じだろう、なんて考えるなよ
言葉知ってれば何でも出来るとでも思ってるのか?
当たり前じゃん?C言語がわかれば、彼女ができて、パコパコできるに決まってるじゃん?
俺女だけど彼女ができるのかスゲーな
一生C言語が分からないから問題ない
行列演算の関数って標準でありますか?
あるよ。
僕の行き着けの板もネトウヨに荒らされてます↑ どうにかなりませんか?
専ブラ導入してあぼーんする。
どう亜ボーンすればいいんですか?
ネトウヨって言葉をNGワードに登録するのが正解
・・・・ ネトウヨをNGに登録しても表示されます あなたは間違ってる。 間違ってる事を教える人はアホです
>>919 全部は無理だろうけど、「無意味」「死ね」をNG登録すれば大分スッキリするかと
ついでに質問だけど、iPhoneアプリでNG登録出来るのって有りますか?
ググレよカス!
janeならスレ番号左クリック
"朝鮮" "韓国" "チンコ半島" "コリア" "チョン" "キムチ" "ミンス"をアボーン指定すればOK
>>921 いや、見つけたんだけど、使い勝手がイマイチで。。。
オススメのが有ったら教えて欲しいかなと
BB2CがNGワード登録対応してくれればベストなんだが。。。
>926 int main(void) { _asm call 0x00010000 return 0 } 環境 俺の仮想PC
928 :
デフォルトの名無しさん :2011/08/30(火) 00:47:33.98
gif画像を表示するプログラムなら3日あればできる
プログラミングが上達する方法教えろください
930 :
デフォルトの名無しさん :2011/08/30(火) 01:05:55.43
英語をやる
その前に新しいパソコン買う
やっぱ買うならハイエンドがいいのでバイトする
その前に日本語を勉強しろください
というわけで来世にかける
古典BASICか古典COBOLで言語機能の限界を一度味わえばC言語にパラダイスを感じ脳ミソが働くようになる。
なりません。
>>927 int main(void)
{
((void (*)(void))0x00010000)();
return 0;
}
でいいだろ。
staticで配列確保するときに要素数は変数じゃいけないんですか?
>>938 とういか要素数を変数で指定できるのか。
>>939 int N=10;
static int A[N];
でコンパイルすると
storage size of ‘A’ isn’t constant
こんなエラーになります
>>940 変数つかえません。#defineにしてください。
C99だとconstも使えるかもしれないけどよく知らない。
942 :
デフォルトの名無しさん :2011/08/30(火) 16:24:33.64
飛び出せ!ガチホモ!
HTMLとCSSを終えました。 次にJAVAかCをやろうかと思うのですが、どちらを先に学ぶべきでしょうか?
Rubyをやれ
A言語
脆弱性のある関数など実用的なプログラムで使うべきでない関数とか知りたいんだけど いいサイトない?もしくは本。
947 :
943 :2011/08/30(火) 20:18:42.35
すみません。誤爆しました・・・。
948 :
946 :2011/08/30(火) 20:22:54.41
すみません。誤爆しました・・・。
949 :
949 :2011/08/30(火) 20:32:12.07
すみません。誤爆しました・・・。
950 :
951 :2011/08/30(火) 20:32:35.35
すみません。誤爆しました・・・。
>>946 >脆弱性のある
脆弱性のないような関数の使い方をしたほうが吉でしょう
ハッキングしたいんじゃないの?でもそんなの聞くって、アホだけど。
>>943 マジレスするとJavaScript(javaではない)
花王不買理由 ・フジの広告主 ・フジの大手株主 ・韓国ゴリ押し情報番組「とくダネ!」のスポンサー ・昼の韓国ドラマのスポンサー ・K-POPゴリ押しの音楽番組「HEY!HEY!HEY!」のスポンサー ・反日女優キム・テヒ主演ドラマのスポンサー ・主力商品が日常消耗品なので不買の結果が出やすい ・他社に代替品があるので他社の商品に移行しやすい ・花王の富田が「フジテレビを支持しています。不買もネット拡散も民主主義ですからご自由に」と発言 ・中国の反日映画に俳優の香川が出演したら花王は急にCMに採用 ・フィギュアにもロッテ・アイフル・マルハン(パチンコ)など反日企業と一緒に広告出してる ・浅田真央叩きが酷い「とくダネ!」のスポンサー ・韓流ドラマばかり意図的に選んでスポンサーになってる ・『韓日戦』表記の時のサッカーの試合のスポンサー ・タイで放送された反日ドラマのスポンサー ・しかもタイで日本人の抗議運動があっても最後までスポンサー降りなかった唯一の日本企業が花王 ・パチンコ屋の景品には花王商品が多い ・花王の年間広告費は800億円。その内、フジテレビには600億円。1媒体のそれも1企業に全広告費の8割をつぎ込んで韓国ゴリ押し
pthreadをいじって遊んでるんだけど スレッドの同時実行数って決められない? 同時実行数1にして似非RTOSみたいにしたいんだけど
ちなみに各スレッドはsetschedpolicyでSCHED_FIFOにしてるつもり エラーは返ってきてない CPUが4コアだと4つ動いちゃうとかあるんでしょうか
さらに情報後出しですみません 管理者で実行しているし、sched_priorityは1〜5にしてsetschedparamしてます 5スレッドにしても全部動いたのでCPUコアの数は関係ないですねえ・・・
959 :
【18m】 :2011/08/31(水) 02:14:58.78
おやすみ
おやすみなさい
Windowsで使えるフリーの開発環境でGCC, MinGW以外を探してます。 お試し版とかでなくフルセットで使えるものは何がありますか?
ヴィジュアルC++エクスプレスエジソン
>>961 Borland C++ Compiler 5.5
967 :
初心者 :2011/08/31(水) 11:29:19.24
こんにちわ、プログラミングは右も左もわからない初心者です。 質問なのですが、Androidのアプリで、C言語のコンパイラー等の、勉強に使えるアプリはありませんか? もしあればどこでも手軽に勉強できるので、便利なのですが……
terminalでサーバにログインしてviでgccをやれ
969 :
デフォルトの名無しさん :2011/08/31(水) 12:23:52.54
c言語でファイルの拡張子だけ指定してファイルを開くにはどうしたらいいのでしょうか? 例えば、あるディレクトリ(普通は実行ファイルと同じ場所)にあるエクセルファイルを全部開きたいとき、.xlsだけ指定してファイルは開けるのでしょうか?
その通りにプログラム作ればいいじゃないか
972 :
デフォルトの名無しさん :2011/08/31(水) 12:55:44.25
>>971 拡張子だけわかっていても、ちゃんとしたファイル名が分からないのでfopen関数は使えないと思うのですが…。ご教授お願いします
ちゃんとしたファイル名を読めよ
実行時引数のワイルドカード展開 か 自前でファイル検索 いずれにしろ環境依存だろう
>>972 WindowsならFindFirstFileで調べればおk
xlsをfopenしようとする人にそんな情報は役不足かと
977 :
デフォルトの名無しさん :2011/08/31(水) 13:53:17.75
>>975 windows.hにはそういう関数があるんですね、thx
>>976 csvでした。よくエクセルで開くから勢いでxlsと書いてしまいました
素直にこれでファイル名を得るのは却下なのか? #include <stdio.h> #include <dirent.h> #include <string.h> int main(int argc, char *argv[]) { DIR *dir; struct dirent *dp; char path[FILENAME_MAX]; getcwd(path, FILENAME_MAX); if ((dir = opendir(path)) == NULL) return -1; while ((dp = readdir(dir)) != NULL) { if (strncmp(dp->d_name + strlen(dp->d_name)-4, ".csv",4) == 0) printf("%s\n", dp->d_name); } closedir(dir); return 0; }
>>978 いやそれもwindows.h利用と同等の環境依存だぞ
それのどこが素直だ
はて・・・標準関数しか使ってないが どれが環境依存?
opendir, readdir が環境依存関数 POSIX 準拠の UNIX で非標準(少なくとも C89にはない)
僕って才能ないんです。・・・ c言語難しいです・・
983 :
初心者 :2011/08/31(水) 17:10:35.90
>>968 >968 デフォルトの名無しさん sage 2011/08/31(水) 12:03:34.40
>terminalでサーバにログインしてviでgccをやれ
terminalとは、自分のパソコンにアクセスするアプリの事でさか?
getcwd も初めて見た。
getcwd は見落としてた dirent.h がアウトー だね
986 :
978 :2011/08/31(水) 17:23:03.18
ああ、dirent.hはC POSIXライブラリに入ってるんで標準かと思ってた。 windows(MS VS)で動作しないのかな?
リアルで何ヶ月一日何時間とか頑張れば習得できるとか教えてくださいませんか・・? 5,6ヶ月じゃやっぱり無理ですよね。
うるせえな、そんな事を考えてるヒマがあったらソフトの一本でも作れや
お前が先に氏ね
>>987 言葉は覚えられるかもしれないけど、作れるかは別の話だよ
次スレ立てますね
>>962 ,964,965,970
思ったより沢山あって驚きました。
教えていただいた物を全部ダウンロードして一つずつ試してみます。
皆さん本当にありがとうございました!
987=990 これは酷い
CUIのクイズゲームとか作れる程度なら みっちりやれる時間と精神力があるなら数日もかからんだろう
>>995 GUIも作りたいなら一番おすすめなのはVisual C++ 2008 Expressだけどね
2010でもいいけど肝心のIntellisenseが一部使えなくなってる
>>125 縄文土器は5万年前のが出土してるし
大陸より早く文明が誕生していたのは確実なわけだが
ちなみに当時のコメは半島の気候では育たねえよwww
誤爆乙
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。