C言語なら俺に聞け(入門編)Part 70

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
C言語の*入門者*向け解説スレッドです。
★前スレ
C言語なら俺に聞け(入門編)Part 69
http://hibari.2ch.net/test/read.cgi/tech/1284477697/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 140代目
http://hibari.2ch.net/test/read.cgi/tech/1284632294/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
2デフォルトの名無しさん:2010/09/26(日) 17:39:40
                     __
                ,,r‐''"~~´:::::::::::::゙~''''‐-、,
              ,,r''´::::::::::::::::::::::::::::::::::::::::::::::::::゙丶、
            /:::::::::::::::::::::::::::::,r、::::::::::::::::::::::::::::::::\
           / ......::::::::::::ィ::::::::// ヽ:::::ト、::::::::::::::::........ヽ
           /:::::::::::,r::::::/ |:::::/ /  ゙、::l ヽ:::::::::、::::::::::::::゙、
           /:::::::::::/i::::/,,,,l:::/ /   ヽト‐-、:::::|',::::::::::::::::i
          i::::::i:::::/'|::/  |/  /     !  ヽ::|ヽ:::::i:::::::::l
         l:::::::|:::/ .i/              ヽ:| ゙、::::i:::::::::|
           |:::::::|/                 ゙'! ヽ,!:::::::::|
         |::::::;;;;i -‐''''''"""~~     ~~"""゙'''''''''‐ |;;;;::::::::|
          |::::::;;;;;|                        |;;;;:::::::::|
        |::::::::;;;;l                    l;;;;:::::::::|
         |:::::::;;;;;|                       |;;;;::::::::|
     _,,,r-┴、::;;;;ヽ、                   ノ;;;:::::-‐-、
    / 、  、 ヽヽ-,;;;゙ヽ、      ヽフ       ,,,イr/´/ ,r  ゙'ヽ、 聞いてやーー
 ̄ ̄\,,,ヽ、,,i、,,,i、ノ' ̄ ゙゙̄'''‐- ...,,,,,,,,,,,,,,,,,,.... -‐'''~  ̄(,,しL,/,,,r'~,,,-‐' ̄ ̄
3デフォルトの名無しさん:2010/09/26(日) 18:13:47
VC++でC99を使う方法おしえて
4デフォルトの名無しさん:2010/09/26(日) 18:18:54
VCにもいろいろあるでよ
5デフォルトの名無しさん:2010/09/26(日) 18:20:34
wikipediaごときだと↓みたいになってる。
http://ja.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B
...Visual C++のコンパイラは、C, C++, C++/CLIのソースコードを入力に受け付ける。C言語規格に関しては、Visual C++ 9.0 (2008) SP1の時点でANSI C89 (ISO C90, ISO/IEC 9899:1990) 対応[1]であり、C99には対応していない。...
6デフォルトの名無しさん:2010/09/26(日) 18:22:28
>>5
そこをなんとか対応できませんか?
7デフォルトの名無しさん:2010/09/26(日) 18:23:48
おバカさんですか?バージョン聞かれてないかい?
8デフォルトの名無しさん:2010/09/26(日) 18:27:02
>>7
すいませんでした
VC++ 2010 Express使ってます
9デフォルトの名無しさん:2010/09/26(日) 18:30:50
こんなことかいてるところがあるね
ttp://d.hatena.ne.jp/crimsonwoods/20090911/1252597456
10デフォルトの名無しさん:2010/09/26(日) 18:31:01
C99がCのスタンダードになることは永遠にない
11デフォルトの名無しさん:2010/09/26(日) 18:31:48
VC++はC++専用、もっと言えばWindowsアプリ専用と考えた方がいいよ。
CコンパイラとしてはC95にもC99にも対応してない古臭い仕様だから。
12デフォルトの名無しさん:2010/09/26(日) 18:33:32
C99対応だと何が嬉しいの
13デフォルトの名無しさん:2010/09/26(日) 18:33:33
そうなんですか?CをコンパイルするときはBCCのほうがいいでしょうか?
14デフォルトの名無しさん:2010/09/26(日) 18:36:45
BCCはもっと古いが、まあ準拠度で言えばC89だからVC++と同等ではある。
15デフォルトの名無しさん:2010/09/26(日) 18:41:23
あした学校の授業でプログラミングあるのでC89あるか先生に聞いてみます
16デフォルトの名無しさん:2010/09/26(日) 18:54:33
BCCって今でも無料版あるの?
17デフォルトの名無しさん:2010/09/26(日) 18:59:10
http://blogs.msdn.com/somasegar/archive/2008/11/21/c-enhancements-in-vs-2010.aspx
こっちのコメント欄でのやりとりでも、
C99欲しいって声はあんまりないからやらないんだって言っているね。
18デフォルトの名無しさん:2010/09/26(日) 18:59:26
今は私立の小学校でもプログラミングの授業があるらしいな
19デフォルトの名無しさん:2010/09/26(日) 19:01:05
プログラミングの仕事がしたいんですけど未経験で30歳はキツイですか?
20デフォルトの名無しさん:2010/09/26(日) 19:02:59
26以上は実務経験ないとキツイっていうか無理
21デフォルトの名無しさん:2010/09/26(日) 19:16:26
まあ会社によるけど厳しいよね
今の仕事があるなら無理に転職する必要はない
22デフォルトの名無しさん:2010/09/26(日) 19:35:55
暗号化はこっち

■暗号技術【ROUNDsurea】■
http://hibari.2ch.net/test/read.cgi/tech/1180280982/
23デフォルトの名無しさん:2010/09/26(日) 20:28:47
てすと
24デフォルトの名無しさん:2010/09/26(日) 20:41:58
暗号は今一つ盛り上がりに欠ける
25デフォルトの名無しさん:2010/09/26(日) 20:47:56
暗号に限らずアルゴリズム関連のスレは既存のものを使ってればいいだけだから
今更議論することも少ない
26デフォルトの名無しさん:2010/09/26(日) 21:01:19
新型は要らない!という話?
27デフォルトの名無しさん:2010/09/26(日) 21:08:46
いや新型は欲しい、
既存型の複製を作ってもなあ・・・って話

車輪の再発明は学習には必要だけども、
他人にとっては今更って思うから盛り上がりに欠ける
28デフォルトの名無しさん:2010/09/26(日) 21:13:08
暗号化ならとりあえずカメリア使っとけ
29デフォルトの名無しさん:2010/09/26(日) 21:18:06
わざわざNTTに特許料払うのか?
30デフォルトの名無しさん:2010/09/26(日) 21:18:57
Code Based Cryptographyがいい!
31デフォルトの名無しさん:2010/09/26(日) 21:45:06
ひゅ〜ひゅ〜
32デフォルトの名無しさん:2010/09/26(日) 21:46:21
vc++限定の話です。
#pragma intrinsicっていうプリプロセッサ指令あるじゃないですか?

これって数学の関数の処理を最適化して高速化するもんですよね?
たとえば、sin,cos,atan2を高速化したければ、

#pragma intrinsic(sin,cos,atan2)ってかけばOKなんですか?
33デフォルトの名無しさん:2010/09/26(日) 21:59:08
>>24
まともにレスできる者の絶対数が少ないのと
2ちゃんで発言するかどうかの関門でまた厳しいふるいがあるからな
34デフォルトの名無しさん:2010/09/26(日) 21:59:09
35デフォルトの名無しさん:2010/09/26(日) 22:04:10
C の「高級アセンブラ」としての使命が問われている、根本的な問題だと思うが
36デフォルトの名無しさん:2010/09/26(日) 22:04:40
>>33
暗号化技術そのものは秘密でもなんでもないわけだから
べつに2ちゃんで話そうが駅のホームやスターバックスで話そうがどうってことないはず。
つまりはまさに暗号についてわかってる奴が少ないって事だろうね。
37デフォルトの名無しさん:2010/09/26(日) 22:06:18
>>32

>>1
>★C++言語については避けてください。C++対応明記スレへどうぞ
38デフォルトの名無しさん:2010/09/26(日) 22:13:46
>>36
理想論に異を唱えるつもりはないが
スターバックス怖いぞ
39デフォルトの名無しさん:2010/09/26(日) 22:15:25
オリジナル暗号実装してて速度でGPGに勝ったんだけど、OpenSSLに負けてる。
40デフォルトの名無しさん:2010/09/26(日) 22:19:09
問題は強度だ
41デフォルトの名無しさん:2010/09/26(日) 22:25:35
早いより硬いほうが女性も喜ぶよね
42デフォルトの名無しさん:2010/09/26(日) 22:40:43
勝ち負けを論じることができるレベルのアルゴリズムでも実装でもなかった。
43デフォルトの名無しさん:2010/09/26(日) 22:44:47
>>38,39←ほらね、こういう暗号とはどういうものなのかという初歩を知らない奴はこういうリアクション。
2ちゃんのプログラムスレでもこのレベルだからまぁ、発展的な話なんて無理と言えば無理。
44デフォルトの名無しさん:2010/09/26(日) 22:46:27
ニヨニヨ
45デフォルトの名無しさん:2010/09/26(日) 22:49:54
>>38
暗号化のアルゴリズムってのは本来、秘密にするべきものではなく
世界中の暗号学者にそのアルゴリズムの詳細仕様をメールで送っても
ゴールデンタイムのTV放送で全国ネット、世界中継で読み上げてもおkなもんなのだよ。
そうやってアルゴリズムを誰もが知っていてもなお、
解読するのに実質不可能と思えるくらいの時間を要するものを
使用に耐えうる暗号と言う。
46デフォルトの名無しさん:2010/09/26(日) 22:58:49
俺の理解では鍵交換した後は対称鍵で暗号化するもんだと思ってた。
gpgにせよopensslにせよその暗号化アルゴリズムは強度と速度から適切なものを選択
するものであり、どのアルゴリズムをどう使ったか含めて言わないあたり院生ってのも
ちょっと怪しいなと思った。
47デフォルトの名無しさん:2010/09/26(日) 23:03:51
ぶっちゃけさJavaでアンドロイドアプリ開発したいんすよ
てゆーかiphoneがObjective-Cで開発みたいな?
だから初めての言語はC#かJavaかCどれを学習したらいいんですか?
ぶっちゃけトークでよろしく!
48デフォルトの名無しさん:2010/09/26(日) 23:04:04
>>45
ケルクホフスの原理は必須ってわけでもない
そうあるべきって主張があるだけ

現代においてもなお、クローズドな仕様・実装のほうが
より機密性が高くなるとする立場は存在する
典型例がNSAで、国家機密に使われる非公開暗号を用意しているらしいし
49デフォルトの名無しさん:2010/09/26(日) 23:05:09
>>47
アンドロイドはJAVAでいいでしょ
50デフォルトの名無しさん:2010/09/26(日) 23:06:06
>>47
Javaでアンドロイドアプリ開発したいんなら、Javaだろう
他の言語を学習する理由がどこにある
51デフォルトの名無しさん:2010/09/26(日) 23:08:16
おれまだ中1なんっすよ
やっぱり初めの言語は大事かなって思ってるわけっすよ
52デフォルトの名無しさん:2010/09/26(日) 23:08:59
中一だと順番違うの?
53デフォルトの名無しさん:2010/09/26(日) 23:13:49
黒客には陽と陰がいてそれは
自らの発見で名声を欲しがる者と
自らの発見そのものに満足する者がいる

暗号論において怖いのは後者だということは論を待つまい
54デフォルトの名無しさん:2010/09/26(日) 23:15:00
>中一

なか はじめ
55デフォルトの名無しさん:2010/09/26(日) 23:16:05
プログラミングの最初なんてfor とか 変数 とか 関数が理解できればどれも大して変わらないだろ。
俺はjavascriptから入ったから型が最初は無かった。そういや、JSやる前に授業でRやったけど、
さっぱり身につかなかったな。目標持って自発的にやれよ。
56デフォルトの名無しさん:2010/09/26(日) 23:32:57



57デフォルトの名無しさん:2010/09/26(日) 23:52:36
同じバイナリが違う環境で動作するときにアラインメントの取り方だけが違うっていう場合はあるの?
58デフォルトの名無しさん:2010/09/26(日) 23:55:55
ないって保証が悪魔の証明なんだよ
59デフォルトの名無しさん:2010/09/27(月) 00:00:11
ほっ
ほっ
60デフォルトの名無しさん:2010/09/27(月) 01:35:11
300Mのファイルの読み書きだけで16秒もかかるんですが、OpenSSL
は暗号化の処理を入れても10秒位しかかかりません。
どうすればファイルIOを早く出来ますか?
61デフォルトの名無しさん:2010/09/27(月) 01:37:28
もういい加減消えろ
62デフォルトの名無しさん:2010/09/27(月) 01:47:41
つメモリマップドファイル
63デフォルトの名無しさん:2010/09/27(月) 09:23:43
while((read_size=fread(buff,1,SIZE,fq)))を
while((read_size=fread(buff,4,SIZE,fq)))とするとファイルの4分の1
しか書き込めません。なぜですか?
64デフォルトの名無しさん:2010/09/27(月) 09:31:05
>>63
fread()の戻り値は、第2パラメータで指定した単位で何個読み取れたか。
つまり、実際に読めたのは(戻り値*第2パラメータ)[bytes]になる。
65デフォルトの名無しさん:2010/09/27(月) 09:53:41
>>63
そもそも読み込みしかしてないだろ
66デフォルトの名無しさん:2010/09/27(月) 10:02:03
fwriteの書き込みバイト数が1のままだった。4バイトにすれば早く
なるかと思ったけどならなかった。
67デフォルトの名無しさん:2010/09/27(月) 10:09:51
OpenSSL調べてるけど、特別なこと何もしてないみたいだし・・・
何であんなに早いの?
68デフォルトの名無しさん:2010/09/27(月) 10:11:57
コツは、ファイルサイズを取得する関数でターゲットとなるファイルのサイズを取得し、
バッファのリミット定数と比較し、OKならファイルサイズ分がばっと一括で読んじゃうのが一番速い方法。
これならHDDへの読込みアクセスが一回で済む
内容を分割したけりゃその後に分割(こうすればメモリ上のアクセスなので数段速い)
69デフォルトの名無しさん:2010/09/27(月) 10:13:00
具体的なソースがほしいです
70デフォルトの名無しさん:2010/09/27(月) 10:13:44
>>69
甘ったれんな
71デフォルトの名無しさん:2010/09/27(月) 10:20:58
バッファサイズと読み込み時間って関係あるんですか?
増やしてもあまり変わらなかったです。
72デフォルトの名無しさん:2010/09/27(月) 10:28:47
ディスクアクセスを何回行なうか、が時間に大きく関わってくるとは思わね?
1回と10000回ディスクアクセスするんだととっちの方が時間がかかる?
73デフォルトの名無しさん:2010/09/27(月) 10:29:37
頭でコード書いてるバカはほっとけ
74デフォルトの名無しさん:2010/09/27(月) 11:05:17
またずいぶんレベルが下がったな。
前スレでは読み込みのブロッキング中に別スレッドで回せということだったと思うんだが。
75デフォルトの名無しさん:2010/09/27(月) 11:05:29
女は子宮で書くのよ
76デフォルトの名無しさん:2010/09/27(月) 11:05:38
高速化に拘るのは結構だが、せめてスレタイ読んでから書き込もうな。
高速化/効率化は明らかにスレ違いな話題だし、ここで聞いても有意な回答は望めないよ。
77デフォルトの名無しさん:2010/09/27(月) 11:16:46
>読み込みのブロッキング中に別スレッドで回せ

それもうC++の領域じゃね?
Cの仕様そのものがもう時代遅れで300MBなんてファイルを読み込むことを想定していないわけだし。
78デフォルトの名無しさん:2010/09/27(月) 11:31:47
ファイルサイズの取得

MFC CFileFindクラス
.net FileInfoクラスのLengthプロパティ
79デフォルトの名無しさん:2010/09/27(月) 12:03:17
つまり、C++は標準規約でスレッドに対応してると、そう仰りたいわけか。
80デフォルトの名無しさん:2010/09/27(月) 12:10:40
いいえ
81デフォルトの名無しさん:2010/09/27(月) 12:29:02
>>74
Cで別スレッドで回すってどうやんの?
82デフォルトの名無しさん:2010/09/27(月) 12:31:41
timidityやtmidi95やgrooveみたいにソフトウェアでMIDIエミュレートするにはどうやるんですか?難しいですか?
83デフォルトの名無しさん:2010/09/27(月) 12:34:08
>>81
質問者がcygwinと言っているのだから、pthreadでも使えばいいんじゃない?
84デフォルトの名無しさん:2010/09/27(月) 12:38:04
>>83
でも結局、数バイトづつ読むとなると、読み終わるまで親は待たないといけなくなるよね、という矛盾
85デフォルトの名無しさん:2010/09/27(月) 12:48:21
ふっほっはっ
86デフォルトの名無しさん:2010/09/27(月) 12:50:28
>>82
MIDIで指定された音階で、指定された楽器の音を
指定された強さで鳴らすだけ。楽器の音データは
楽器の音を録音して使用する。
同時に複数音を出さなくて良いなら、
プログラムとしては大変ではない。

データを用意するのが大変なのと、
実用的なスピードで音の合成するのが大変。
87デフォルトの名無しさん:2010/09/27(月) 12:52:47
>>82
んっひっ
88デフォルトの名無しさん:2010/09/27(月) 13:46:48
で?300MBのファイルを高速で読むにはどうすんの?>>83
89デフォルトの名無しさん:2010/09/27(月) 13:50:29
別スレッドにしてもファイル読み終わるまで親スレッドが待つことになるだけでちっとも速くならないよー。
90デフォルトの名無しさん:2010/09/27(月) 13:54:12
>>86
けっこうたいへんあんんですね
ソフトシンセサイザーで一発ぼろ儲けをしてる人はハッカー
91デフォルトの名無しさん:2010/09/27(月) 14:04:29
>>87
けっこうたいへんあんんですね
ソフトシンセサイザーで一発ぼろ儲けをしてる人はハッカー
92デフォルトの名無しさん:2010/09/27(月) 14:18:31
>>88
けっこうたいへんあんんですね
ソフトシンセサイザーで一発ぼろ儲けをしてる人はハッカー
93デフォルトの名無しさん:2010/09/27(月) 15:08:18
ソフト側は素直に普通に作っとけ。
アクセスを早くとか、そういうのはハード側に求めるべきだ。
94デフォルトの名無しさん:2010/09/27(月) 15:19:46
>>88>>89
前スレを全くみていないのね。
スレッドを使うと読み込みを速くできるなんて一言も言っていない。
読み込みのブロッキング中に別スレッドで暗号化できるという話をしている。

が、質問主はマルチスレッドが大変と分かったらしく、
とにかく読み込み時間を速くすることに絞ったようですな。
95デフォルトの名無しさん:2010/09/27(月) 16:19:41
ttp://sky.geocities.jp/tcshacina/hash.c
だから私を見て!
96デフォルトの名無しさん:2010/09/27(月) 16:45:44
>>95
ttp://codepad.org/gc4mHHuC
私のことも見て!


シングルスレッド
$ time ./a.exe -s DATA.bin S.bin
real 0m35.030s
user 0m19.155s
sys 0m0.624s

マルチスレッド
$ time ./a.exe -m DATA.bin M.bin
real 0m25.098s
user 0m18.906s
sys 0m0.562s

データは100MBのものを使用した。
注意:読み込みが速いわけではない。
ブロッキング中に別の処理をしているだけ。

昔遊んでたコードを元に適当に組んだ。
ちゃんとconditionとか使えばもっといい感じになると思う。
97デフォルトの名無しさん:2010/09/27(月) 17:01:33
これはC言語?何してるのかよくわからない・・・
因みにバッファのサイズを262144にしたら最高速度になった。
$ time ./perm 3 3.perm

real 0m12.137s
user 0m0.015s
sys 0m0.016s

$ time ./perm 3 3.perm
real 0m6.006s
user 0m0.000s
sys 0m0.046s

かなりOpenSSLの性能に近づいた感じ。(気のせい)
98デフォルトの名無しさん:2010/09/27(月) 17:15:07
こんな凄い事出来るのにプロじゃないなんて・・・
99デフォルトの名無しさん:2010/09/27(月) 17:49:23
>>96
対して速くなってないね。

>>97
つまり>>68,72っぽい方法だってことだよね。
それが正解
100デフォルトの名無しさん:2010/09/27(月) 18:11:27
>>96みたいな唯我独尊・自画自賛プログラマってほんと、プログラマなんてやめちゃえばいいのに。
どうせろくでもないコード乱造してるくせに「仕様です」とか言い張って改善する能力もない、世界のダニ。
101デフォルトの名無しさん:2010/09/27(月) 18:28:29
setbuf使って、システムコールの回数を減らしてみるとか
102デフォルトの名無しさん:2010/09/27(月) 18:29:30
setbufferのほうだった
103デフォルトの名無しさん:2010/09/27(月) 18:38:14
>>101
フリーズしたようになる?
104デフォルトの名無しさん:2010/09/27(月) 18:44:16
聞く前にまず自分で試行しろ
105デフォルトの名無しさん:2010/09/27(月) 19:45:39
汗みたけど
for(i=0;i<16;i++)
u.m[i]=buff[i+k*16];
毎回、コピーしてるここがネックじゃないかな?
106デフォルトの名無しさん:2010/09/27(月) 19:48:44
ぬっほっ
107デフォルトの名無しさん:2010/09/27(月) 20:52:39
どうすればいい?
108デフォルトの名無しさん:2010/09/27(月) 20:54:04
暗号くんの嫌いなポインタを使うんだよ
109デフォルトの名無しさん:2010/09/27(月) 20:55:29
キャストでやる手もあるかな
110デフォルトの名無しさん:2010/09/27(月) 20:55:47
早くなるの?
111デフォルトの名無しさん:2010/09/27(月) 20:57:26
どう考えてもディスクから読み込む必要ないよな
聞いてるやつも教えてるやつも同一人物としか思えなくなった
112デフォルトの名無しさん:2010/09/27(月) 20:58:18
SSE2命令でループをベクトル処理してくれる機能があるんだけど、
それよりも効果がありますか?
113デフォルトの名無しさん:2010/09/27(月) 21:00:01
ひっふっ
114デフォルトの名無しさん:2010/09/27(月) 21:00:10
別人です
115デフォルトの名無しさん:2010/09/27(月) 21:06:03
書き方が悪くて、128ビットアクセスになってないみたいだからね
116デフォルトの名無しさん:2010/09/27(月) 21:07:17
今日はもう寝るので明日までに解決しといてください
117デフォルトの名無しさん:2010/09/27(月) 21:16:11
もうこいつに反応するやつは同一人物でいいよ。俺含めて。
118デフォルトの名無しさん:2010/09/27(月) 21:26:43
昔のベーシックみたいな書き方してるからかな、反応しちゃうのは
119デフォルトの名無しさん:2010/09/27(月) 21:31:48
いいですよ
120デフォルトの名無しさん:2010/09/27(月) 21:32:41
工業高生なんだが
10 main()
20 {
30 printf("ハジメマシテ\n");
40 }
こんな行番号まで入れてポケコンで頑張ってるんだけど
今のところこんなことしかできないんだけどどこから頑張ればいいの?
121デフォルトの名無しさん:2010/09/27(月) 21:34:14
嘘つきには教えない
122デフォルトの名無しさん:2010/09/27(月) 21:34:31
ポケコンだと派手なコトできないから
数値計算系のやつでもがんばってみたら?
123デフォルトの名無しさん:2010/09/27(月) 21:34:40
すいません、intも一応使えます。
124デフォルトの名無しさん:2010/09/27(月) 21:35:31
工業高生ねえ。。。
125デフォルトの名無しさん:2010/09/27(月) 21:35:50
連レスすまぬ。
>>122了解したぜよ!あとifとか覚えて情報技術3級狙ってくる!
126デフォルトの名無しさん:2010/09/27(月) 21:43:53
情報技術って情報技術検定のこと?
あれ、1級以外だとジュニアマイスターの点数稼ぎにも使えないから
受ける意味はあまりないと思う
127デフォルトの名無しさん:2010/09/27(月) 21:46:16
>>126
部活でとあるソーラーカーレースやらその他いろいろにでてるんだが
それにでるだけでジュニアマイスターの点数がたまって危険物取扱をとるだけで
シルバーか何かになれるんだ、ごめん。
128デフォルトの名無しさん:2010/09/27(月) 21:46:51
>>120
SHARPのPCG-850とか?
懐かしいなおい。
129デフォルトの名無しさん:2010/09/27(月) 21:50:16
てかポケコンって今でも売ってるのか。
130デフォルトの名無しさん:2010/09/27(月) 21:59:37
>>127
別表2、3に参加だけでOKってやつなかった気がするんだが
131デフォルトの名無しさん:2010/09/27(月) 22:21:06
>>130
一応、成績はある程度残さないと高い得点は入らないんだけどね。
ただ、そういう先輩もいただけだから自分は無理かな。
>>128
.SHARP PC-G850VS
処理速度が速くなったせいで処理速度固定させないと
持ってる雑誌のゲームとかできないんだよね。
132デフォルトの名無しさん:2010/09/27(月) 23:09:14
>情報技術検定
受験料安すぎと思ったら高校生向け試験なのね
オラクルマスター受けたいけどxマソは学生にゃ高すぎる・・・
133デフォルトの名無しさん:2010/09/27(月) 23:12:33
自演注意
134デフォルトの名無しさん:2010/09/27(月) 23:16:11
基本情報も応用情報も5000円だろ
135791:2010/09/27(月) 23:17:17
自演
136デフォルトの名無しさん:2010/09/27(月) 23:21:02
>>134
それは情報技術"者"検定
137デフォルトの名無しさん:2010/09/27(月) 23:24:47
>>134
情報技術検定 != 情報処理技術者試験
基本応用とったからベンダー資格にも手をだそうかと思案中
138デフォルトの名無しさん:2010/09/27(月) 23:25:57
高速なファイルアクセスの書き方も知らんようなヘボどもが
139デフォルトの名無しさん:2010/09/27(月) 23:32:03
>>136>>137
知ってるけど
140デフォルトの名無しさん:2010/09/27(月) 23:37:56
分かってねえだろks
141デフォルトの名無しさん:2010/09/27(月) 23:44:08
>>132が情報技術検定は安いとか、オラクルは高いとか言ってるから
それなら基本や応用を受ければいいと言ってるだけ
14247:2010/09/27(月) 23:45:01
ども47です
俺的にはさ、とりあえず自分の好きに使えるPCが今ないからさ
お金貯めて買ってからJavaやりたいみたいな
つーことで報告乙りにきた
143デフォルトの名無しさん:2010/09/27(月) 23:55:02
>>141
基本や応用は金にならない&就職に使えない
オラクルは金になる&就職に使える

だいたい、工業高校の学生なら
基本、応用の2つぐらい普通に持ってるだろ
144デフォルトの名無しさん:2010/09/28(火) 00:01:23
それは誤解だよ
145デフォルトの名無しさん:2010/09/28(火) 00:06:29
>>143
ダウト
146デフォルトの名無しさん:2010/09/28(火) 00:08:32
>>144
応用って前のソフト開発のことだろ?
俺の出身高校だとほとんどのやつが持ってたぞ
147デフォルトの名無しさん:2010/09/28(火) 00:08:57
#include "hoge.h" と #include <hoge.h> はどう違うんですか。
148デフォルトの名無しさん:2010/09/28(火) 00:10:46
うちの会社はどんな資格取っても手当なんか一切出ないぜ!
基本とソフ開とテクネとテクデとテクエンベとテクセキュ持ってるけどオラクルもシスコも無い俺は世間一般ではどのくらいの価値があるんだろうか
149デフォルトの名無しさん:2010/09/28(火) 00:11:05
>>146
簡単なのに合格率が低いのは工業高校の奴らが落ちまくってるからだろ
150デフォルトの名無しさん:2010/09/28(火) 00:11:30
応用 = 旧ソフ開 + マネジメント + ストラテジ
範囲は広がっている
151デフォルトの名無しさん:2010/09/28(火) 00:12:03
>>147
"hoge.h" はカレントディレクトリを探して、なければインクルードパスを探す
<hoge.h> はインクルードパスだけを探す
152デフォルトの名無しさん:2010/09/28(火) 00:13:08
第ゼロ印象に影響はある
だが、その後に化けの皮が剥がれると詐欺呼ばわりで
人事部の人も始めからそれが頭にある

使えない奴がポイされるのは資格云々のせいじゃなく本人の中身
仮に実力があっても悪用されるとこれまた危険極まりないしな
153デフォルトの名無しさん:2010/09/28(火) 00:13:12
まあね
154デフォルトの名無しさん:2010/09/28(火) 00:13:12
>>147
ヘッダーファイルの検索の仕方が違う
155デフォルトの名無しさん:2010/09/28(火) 00:26:52
暗号くんへ
#if 1
{
on *dd;
dd = &buff[k*16];
u = *dd;
}
#else
for(i=0;i<16;i++)
u.m[i]=buff[i+k*16];
#endif
8ビット毎のコピーが32ビット毎のコピーになったぐらい
s5関数にも似たこと出来るとこがあったな
早くなったかは微妙
156デフォルトの名無しさん:2010/09/28(火) 00:33:54
OpenMPかTBB使いなされ
157デフォルトの名無しさん:2010/09/28(火) 00:36:25
300MBをごっそり1回でHDDからメモリに読むってどうやんの?
158デフォルトの名無しさん:2010/09/28(火) 00:38:42
freadで出来るでしょ
159デフォルトの名無しさん:2010/09/28(火) 00:38:48
300メガのリニアメモリ確保してfreadで300メガ読み込む
こうですか
160デフォルトの名無しさん:2010/09/28(火) 00:40:14
ファイルを1回でHDDから読んじまって後の操作はメモリ上だけでやった方が圧倒的に早くね?
161デフォルトの名無しさん:2010/09/28(火) 00:41:57
ファイルサイズ調べて、読み込む
162デフォルトの名無しさん:2010/09/28(火) 00:42:46
読む前に空きメモリサイズも調べとくこと
163デフォルトの名無しさん:2010/09/28(火) 01:03:03
読み込んだデータを暗号化すれば、コピーの回数が減るけど
暗号君の腕じゃ、動かなくなりそう
164デフォルトの名無しさん:2010/09/28(火) 01:05:59
>>149
会場にたどり着けない職業プログラマが多いからだよ。
165デフォルトの名無しさん:2010/09/28(火) 01:21:08
欠席はたしかに多いが統計資料では欠席を除いた合格率が出てる
166デフォルトの名無しさん:2010/09/28(火) 01:27:57
会場に行くのがそんなに大変なのか?
まるでハンター試験だな・・・
167デフォルトの名無しさん:2010/09/28(火) 02:23:12
暗号くんへ
{
on *dd;
dd = &buff[k*16];
for(i=0;i<4;i++){
c1.cc[i]=((c1.cc[i]+dd->cc[i])&f2)^c1.cc[(i+1)&0x3];
c2.cc[i]=((c2.cc[i]+dd->cc[i])&f2)^c2.cc[(i+1)&0x3];
}
}
コピーをなくしてみた。
s5の入り口と出口のコピー処理の影響が大きいみたいだよ。計4回やってるからね。
168デフォルトの名無しさん:2010/09/28(火) 02:46:08
暗号くんへ
s5で
cc->H->GGとコピーして、Hを使ってないじゃないか
169デフォルトの名無しさん:2010/09/28(火) 03:00:53
やっぱり、無駄なコピーがネックになってる
170デフォルトの名無しさん:2010/09/28(火) 03:18:31
勘違いしてたとこがあったけど、
for(i=0;i<16;i++)
GG.m[a[i]]=H.m[i];
ここの処理が重いみたいだ
171暗号:2010/09/28(火) 05:22:25
ttp://sky.geocities.jp/tcshacina/grs.c
この処理も何とかしてください。
20秒もかかります。高速化よろしくお願いします。
ご指摘の結果2秒位改善しました。無駄な処理があったんですね。
on *ddのコンパイル時に以下の警告が出ます。
172暗号:2010/09/28(火) 05:25:34
warning C4133 '=' : unsigned char * と 'on *'の間で型に互換性
がありません。
173デフォルトの名無しさん:2010/09/28(火) 07:36:45
病院に帰れ
174暗号:2010/09/28(火) 07:43:40
これって高速化出来ないですか?ポインタで。
でもポインタの使い方わかりません。
unsigned char *buf[32],buff[SIZE];

for(i=0;i<32;i++)
buf[i]=buff[i+32*k];

こんな感じで。
buf= &buff[32*k];
175デフォルトの名無しさん:2010/09/28(火) 08:05:12
>>174
出来ますよ。こんな感じで。
memcpy(buf, &buff[32*k], 32);
176暗号:2010/09/28(火) 08:13:12
bufからbuffにデータを戻す場合はどうすればいいですか?
for(i=0;i<32;i++)
buff[i+k*32]=buf[i];
177暗号:2010/09/28(火) 08:16:17
さらにこれは?

for(i=0;i<16;i++){
buf[i]^=d1[i];
buf[i+16]^=d2[i];
}
178デフォルトの名無しさん:2010/09/28(火) 09:32:41
高速化する価値がない。以上。
179デフォルトの名無しさん:2010/09/28(火) 10:17:04
昔のベーシックみたいな書き方しかわかんないみたいだから
とりあえず、入門書を読み直すところからはじめたら
答えを聞くばっかりじゃなく、自分で考えないと
180デフォルトの名無しさん:2010/09/28(火) 10:23:59
そろそろ専用スレ立ててくれ。いい加減鬱陶しい。
181元経験者:2010/09/28(火) 11:40:45
TURBO Cプログラミング入門という参考書は非常にタメになる。
こんなスレで聞くより一度読んでみたほうが良いよ。
182デフォルトの名無しさん:2010/09/28(火) 12:26:29
暗号化の簡単な例を教えてください。
183デフォルトの名無しさん:2010/09/28(火) 12:29:41
aをbに変換
bをcに変換

helloを暗号化するとifmmpになる
184183:2010/09/28(火) 12:30:39
続き
ifmmpをbase64でエンコード
エンコードした文字列もなんかの文字に変換
そして更にエンコード
そして更に(ry
185デフォルトの名無しさん:2010/09/28(火) 12:47:41
自分なりに勉強してたつもりなんですが、今読むならどんな本がいいのでしょうね。
fread/fwriteでこんなに性能が変わるなんて知りませんでした。
環境によってスピードが変わるんでしょうか。キャッシュの性能を除いた
単一のベンチマークとかの性能比較の方法はあるのでしょうか。
プログラムはポインタとかドレスとか出てくるともうわかりません。
わかる範囲でプログラムしてます。目標はオリジナル暗号ソフトです。
186デフォルトの名無しさん:2010/09/28(火) 12:49:18
>プログラムはポインタとかドレスとか出てくるともうわかりません。

性能とか言ってる場合かよ
187デフォルトの名無しさん:2010/09/28(火) 12:55:10
ストリーム暗号は簡単ですよ。乱数を発生させてXORするだけ。
問題は周期が短くならないようにすること。統計的な分布も重要。
最近ではブロック暗号でAESが標準になってる。ブロック暗号からも
ストリーム暗号は作れますが、今目指してるのはストリーム暗号の方。
188デフォルトの名無しさん:2010/09/28(火) 13:08:53
>fread/fwriteでこんなに性能が変わるなんて知りませんでした。
>プログラムはポインタとかドレスとか出てくるともうわかりません。

Cやる気ないなら暗号スレ行けよ…

■暗号技術【ROUNDsurea】■
http://hibari.2ch.net/test/read.cgi/tech/1180280982/
189デフォルトの名無しさん:2010/09/28(火) 13:12:43
暗号アルゴリズムの開発じゃなくて、実装だからここでいいだろ。
Cが分らんと言ってる奴を暗号技術に誘導すんな。
190デフォルトの名無しさん:2010/09/28(火) 13:13:01
>>185
>目標はオリジナル暗号ソフトです。

いや、だから、まず概念としての暗号の基礎を学べよ。
そうすりゃオリジナル暗号なんてどんだけバカげたことかわかるから。
191デフォルトの名無しさん:2010/09/28(火) 13:13:50
Cやる気あります。参考書知ってたら教えてください。
300Mを6秒で処理できるようになりました。
192デフォルトの名無しさん:2010/09/28(火) 13:16:35
>>189
開発しようとしてね?
193デフォルトの名無しさん:2010/09/28(火) 13:21:41
なんだたったの6秒かしょぼいな
194デフォルトの名無しさん:2010/09/28(火) 13:24:16
暗号は大学院で研究してました。楕円曲線とか誤り訂正符号を使った
暗号とか。でもまだ一度も自分で作ったアプリがないので挑戦して
いるところなのです。広く使われているアルゴリズムでないと意味が
ないかもしれないですが、とりあえずいいのです。
開発環境はCygwinのGCCとvisual Studio 2010ですがコマンドライン
だと使い方がわからなくなりそうなのでVC++みたいにウインドウズ
ソフトにしようかと考えてます。
195デフォルトの名無しさん:2010/09/28(火) 13:26:36
もともと20秒かかってました。
196デフォルトの名無しさん:2010/09/28(火) 13:28:06
ソース見ますか?
197デフォルトの名無しさん:2010/09/28(火) 13:30:58
暗号のできる中学生くらいなのかとおもってた。
198デフォルトの名無しさん:2010/09/28(火) 13:39:30
6秒ってのはキャッシュのせいかもしれない。
199デフォルトの名無しさん:2010/09/28(火) 13:44:09
ひとつアドバイスさせてもらうと、今の段階でいたずらに高速化を目指すより
アルゴリズム上の無駄を推敲して正しい設計、正しい実装を目指した方がいいと思うぞ。
その方が結果的に速度が上がるように思う。

参考書
「UNIXという考え方―その設計思想と哲学 」
出版社: オーム社 (2001/02)
ISBN-10: 4274064069
ISBN-13: 978-4274064067
200デフォルトの名無しさん:2010/09/28(火) 13:50:26
すいませんやっぱりソースはお見せできません。
201デフォルトの名無しさん:2010/09/28(火) 13:54:29
アルゴリズムの基本構造は有限体上の行列演算です。
Goppa符号のシンドロームをOFBモードでフィードバックさせて
乱数を発生させます。安全性を実験的に確認している途中です。
演算が論理演算しか使わない単純なものなのに思ったほど速度が
出なかったのが気になりました。
202デフォルトの名無しさん:2010/09/28(火) 13:56:02
>>201
コードの書き方だろJK
203デフォルトの名無しさん:2010/09/28(火) 13:57:16
安全性を検証するのに速度は関係ないだろう
速度なんか気にしてるといつまでも検証の方が進まないぞ
やるべきことをやれよ
204デフォルトの名無しさん:2010/09/28(火) 14:08:15
>>201
暗号化アルゴリズムとコーディング(のアルゴリズム)を混同していると思われ
205デフォルトの名無しさん:2010/09/28(火) 14:19:10
ポインタも使ってねーで速度でないとか、笑う
206デフォルトの名無しさん:2010/09/28(火) 15:24:46
プログラムをビルドした日時をプログラム内で取得したいんだけど
格好いい方法ありますか?
207デフォルトの名無しさん:2010/09/28(火) 15:25:32

208デフォルトの名無しさん:2010/09/28(火) 15:31:31
$ cat foo.c
const char * BuildDate = BUILD_DATE;

$ gcc -S foo.c -DBUILD_DATE='"'"`date`"'"'

$ cat foo.s
.file "foo.c"
.section .rdata,"dr"
LC0:
.ascii "Tue Sep 28 15:31:02 2010\0"
.globl _BuildDate
.data
.align 4
_BuildDate:
.long LC0
209デフォルトの名無しさん:2010/09/28(火) 15:32:28
格好よくはないな
210デフォルトの名無しさん:2010/09/28(火) 15:32:39
__DATE__と __FILE__じゃだめなのか?
211デフォルトの名無しさん:2010/09/28(火) 15:33:22
__FILE__じゃねえ__TIME__だよ
212デフォルトの名無しさん:2010/09/28(火) 16:46:22
行列の要素の入れ替えで質問です。
G[16][16][2]という行列があったとき、

*temp=G[0][2][0]
G[0][2][0]=G[9][5][0]
G[9][5][0]=*temp

で要素の入れ替えは出来ますか?
213デフォルトの名無しさん:2010/09/28(火) 16:49:55
「temp」だけでできるとエスパー
214デフォルトの名無しさん:2010/09/28(火) 16:50:01
Gとtempの型次第。
215デフォルトの名無しさん:2010/09/28(火) 16:57:00
tempが有効なポインタを指していなければアウト
216デフォルトの名無しさん:2010/09/28(火) 17:02:43
じかにやる方法しかわかりません。

temp[0]=G[0][2][0];
temp[1]=G[0][2][1];
G[0][2][0]=G[9][5][0];
G[0][2][1]=G[9][5][1];
G[9][5][0]=temp[0];
G[9][5][1]=temp[1];

何かいい方法があったら教えてください。
217デフォルトの名無しさん:2010/09/28(火) 17:11:17
いやだから「G」と「temp」の型を書けっての
218デフォルトの名無しさん:2010/09/28(火) 17:16:11
unsigned long long int です。
219デフォルトの名無しさん:2010/09/28(火) 17:17:51
unsigned long long int G;
unsigned long long int temp;
だというのか?なわけないだろ
220デフォルトの名無しさん:2010/09/28(火) 17:20:04
行単位、列単位でコピーしたいってことだろ
221デフォルトの名無しさん:2010/09/28(火) 17:24:28
そうです。

unsigned long long int G[16][16][2],temp[2];

ポインタが使えると思うのですがよくわかりません。
222デフォルトの名無しさん:2010/09/28(火) 17:34:12
>>216みたいに直にやるか、ループで回すか、memcpy使うか
223デフォルトの名無しさん:2010/09/28(火) 17:35:51
一番早い方法が知りたいです。
224デフォルトの名無しさん:2010/09/28(火) 17:36:45
swap 関数作ってインライン指定だけでいいだろ
225デフォルトの名無しさん:2010/09/28(火) 17:38:46
memcpy()使うほどのサイズじゃないし、>216で充分だよ。
C++ならstd::swapを使えって話になるけどCだから作るまでもない。
226デフォルトの名無しさん:2010/09/28(火) 17:42:39
void swapUnsigndLongLong2(unsigned long long * a, unsigned long long * b)
{
struct {unsigned long long x, y;} tmp;
tmp.x = a[0];
tmp.y = a[1];
a[0] = b[0];
a[1] = b[1];
b[0] = tmp.x;
b[1] = tmp.y;
}
swap(& G[0][2], & G[9][5]);
227デフォルトの名無しさん:2010/09/28(火) 17:45:53
// さっきはstaticを付け忘れたけど、今時のコンパイラならstaticをつけておけばinline展開してくれるし
// 他のソースに悪影響を及ぼさないためにもつけたほうがいい。
static void swapUnsigndLongLong2(unsigned long long * a, unsigned long long * b)
{
// c89だとエラーが出るからその場合は>226で
struct {unsigned long long x, y;} tmp = {a[0], a[1]};
a[0] = b[0];
a[1] = b[1];
b[0] = tmp.x;
b[1] = tmp.y;
}
// ついでに関数名も間違えてやんのw
swapUnsignedLongLong2(& G[0][2], & G[9][5]);
228デフォルトの名無しさん:2010/09/28(火) 17:55:50
じかにやってみます。
229デフォルトの名無しさん:2010/09/28(火) 18:33:34
途中までの書き直したソース貼ってくれれば更にアドバイスしやすいかも
230デフォルトの名無しさん:2010/09/28(火) 18:45:13
[0]を何度もコピーしてるのが無駄ね
231デフォルトの名無しさん:2010/09/28(火) 18:50:16
誰のソースですか?
232デフォルトの名無しさん:2010/09/28(火) 19:08:17
ストリーム暗号の周期を測定しようとしたらすごいバグが見つかった!
直して今のところ2^32までの周期はない事がわかったのですがどの位
なら安全といえますか?
233デフォルトの名無しさん:2010/09/28(火) 19:10:20
>>232
10^39
234デフォルトの名無しさん:2010/09/28(火) 19:14:17
実験的な確かめ方がわかりません。2^128位ですか。
どなたかアドバイスお願いします。
235デフォルトの名無しさん:2010/09/28(火) 19:17:06
236デフォルトの名無しさん:2010/09/28(火) 19:17:18
??
237デフォルトの名無しさん:2010/09/28(火) 19:19:00
とりあえず暗号野郎はトリ付けろ
238デフォルトの名無しさん:2010/09/28(火) 19:23:33
>>234
周期のあるのは予想可能性という点で問題あるので暗号には使えない。
239デフォルトの名無しさん:2010/09/28(火) 19:26:52
実験では実際に計算させて周期がないかどうかをしらべています。
しかし大きな周期は無理なので確認方法がわかる人がいたらお願いします。
計算量的な安全性は証明できても実装した場合に安全かどうかは別なので。
240デフォルトの名無しさん:2010/09/28(火) 19:30:01
>>239
ほんとに知りたいの?
この人に直接問い合わせりゃいいじゃん。

【数学】円周率5兆ケタまで計算 パソコンを百数十万円かけて自作/長野の会社員
http://toki.2ch.net/test/read.cgi/scienceplus/1283004092/
241デフォルトの名無しさん:2010/09/28(火) 19:38:51
メルセンヌツイスターは安全じゃないんですか?
242デフォルトの名無しさん:2010/09/28(火) 19:46:00
MTは暗号学的には安全じゃないので
暗号に使うなら暗号学的に安全な別なの使ってね、
って公式にアナウンスされとるがな
243デフォルトの名無しさん:2010/09/28(火) 19:46:21
>>239
一周期回らせようとしたら膨大なデータをやりとりしない限り無理じゃないの
244デフォルトの名無しさん:2010/09/28(火) 19:50:51
>>243
はいはい、基礎がわかってないやつはすっこんでろや
245デフォルトの名無しさん:2010/09/28(火) 19:56:47
>>241
2,3桁見たらもう次は予測可能じゃん、暗号学的には。
246デフォルトの名無しさん:2010/09/28(火) 19:59:49
実計算で確認するのは無理だと思います。
アルゴリズム的に周期がない事を証明しないといけないかもしれません。
ブロック暗号のOFBモードに似ているのでそういう方法で安全性を
保障するのかもしれません。OFBモードでも周期はあるはずなんですけどもね。
247デフォルトの名無しさん:2010/09/28(火) 20:03:11
計算量的には次ビット予測不可能性っていいますね。
公開鍵暗号の場合ですけど。鍵をかませれば出力から単純には
次の値がわからなくすることができると思います。
248デフォルトの名無しさん:2010/09/28(火) 20:04:39
>>246
乱数発生させたいならカウンタ値をハッシュしてもいいじゃね?
その代わり種となるカウンタ値はばれたら大変。
249デフォルトの名無しさん:2010/09/28(火) 20:05:24
値の出現確率が一様になるようにダミーを混ぜる
乱数でスワップを繰り返してシャッフル
実はこれだけで完全な暗号になる
250デフォルトの名無しさん:2010/09/28(火) 20:09:41
統計的テストでは一様分布になってます。バイト単位の出現率ですが。
CTRモードのことですかね>カウンタ
251デフォルトの名無しさん:2010/09/28(火) 20:15:03
でも結局突きつめてくとAESとかRSAの劣化コピーみたいなアルゴリズムに落ち着くんだよね。
で、結局、既存のアルゴリズムがどんだけよく考えられているかを知る、と。
252デフォルトの名無しさん:2010/09/28(火) 20:23:29
一応数論とは違う問題に基づいてはいるんですが。新型暗号
253デフォルトの名無しさん:2010/09/28(火) 20:26:42
ポインタすら分からない奴がスレチもほどほどにしろよ
254デフォルトの名無しさん:2010/09/28(火) 20:29:38
>>252
新たな暗号アルゴリズムを作りたいのか?
プログラムのコーディングが上達したいのか?

新たな暗号アルゴリズムを作りたいのならこのスレの住人じゃ検証する力もないし、話の内容がそもそもスレ違い。
それに実証コードを書きたいなら自分でやらずともコーディングのプロに頼めばいい(OpenSSHのメンバーなど)
プログラムのコーディングが上達したいのなら暗号のことは一旦脇に置いてコーディングの勉強をするべき。
255デフォルトの名無しさん:2010/09/28(火) 20:30:35
暗号数学とプログラムはへつもんだから互いにいちゃモンつけてもしゃあないでしょ。
256デフォルトの名無しさん:2010/09/28(火) 20:33:21
新型を質の良いプログラムで実装したいです。
資金がないのでプロには頼めません。
コーディングの勉強をします。
257デフォルトの名無しさん:2010/09/28(火) 20:41:55
>>256
バカなの?
質の悪い手製の新型暗号を、たとえ質のいい実装したってクズはクズだろ。
ゴミをきれいなラッピングでプレゼント包装するようなもんだ。

ホントに手製の新型暗号に自信があるなら論文でも書いて学会に送りなよ。
どんだけ強力な暗号なのか世界中の数学者、暗号学者が検証してくれるから。
実装はその暗号の有用性が実証された後で充分。
有効な暗号だと認定されりゃ、世界のだれかオープンソースの住人(実装の達人)が実装してくれるよ、タダで。
もしくは企業が権利を買い上げてくれるかもな。


結局、「新型暗号」なんて適当なこと言って、
スレをひっかきまわしたいだけだろ?
258デフォルトの名無しさん:2010/09/28(火) 20:46:43
研究段階なら質が悪かろうがとりあえず動けば良いんだよ
質の良いプログラムとか考えるのは後の話
259デフォルトの名無しさん:2010/09/28(火) 20:47:42
>>257
おいおい、暗号さんの才能に嫉妬すんなよw
260デフォルトの名無しさん:2010/09/28(火) 20:50:23
アルゴリズムが完成してるなら、それがプロにも解読出来ないか検証すればいい。今使われてる暗号のように。
プログラムに使おうとすんな
261デフォルトの名無しさん:2010/09/28(火) 21:00:11
趣味で実装してんじゃないの?
そんなにピリピリする必要はないだろうに
262デフォルトの名無しさん:2010/09/28(火) 21:00:32
入れ食い状態の釣り堀か、それとも自分で餌撒いて自分で食い付いてんのか
263デフォルトの名無しさん:2010/09/28(火) 21:07:58
趣味ですw
もう寝ます
264デフォルトの名無しさん:2010/09/28(火) 21:08:58
C使ってるのにデータをレジストリに使う奴は情弱
265デフォルトの名無しさん:2010/09/28(火) 21:14:54
ぷぷ
266デフォルトの名無しさん:2010/09/28(火) 21:37:05
>>264
巣に戻れ
267デフォルトの名無しさん:2010/09/28(火) 21:48:57
いいよ
268デフォルトの名無しさん:2010/09/28(火) 23:11:43
>>258
研究段階(暗号の)ならプログラムで実際に動かす必要なんてないけどな。
269デフォルトの名無しさん:2010/09/28(火) 23:23:04
それはない
270デフォルトの名無しさん:2010/09/28(火) 23:25:33
何のスレだっけ?思い出せ低脳。
271デフォルトの名無しさん:2010/09/28(火) 23:29:24
僕高脳。
272デフォルトの名無しさん:2010/09/28(火) 23:46:53
experimentは一応必要じゃないの
273デフォルトの名無しさん:2010/09/28(火) 23:48:26
lain
274デフォルトの名無しさん:2010/09/28(火) 23:48:46
違うなw
275デフォルトの名無しさん:2010/09/28(火) 23:50:33
int main(void)
{
276デフォルトの名無しさん:2010/09/28(火) 23:53:11
ん?
277デフォルトの名無しさん:2010/09/28(火) 23:54:46
return 0;
}
278デフォルトの名無しさん:2010/09/28(火) 23:55:50
return -1;
279デフォルトの名無しさん:2010/09/29(水) 01:04:12
エラーがでるらしいよ
280デフォルトの名無しさん:2010/09/29(水) 01:05:57
エラーが出るなら仕方ない
281デフォルトの名無しさん:2010/09/29(水) 01:55:52
ここでffmpegの質問してよいですか?
282デフォルトの名無しさん:2010/09/29(水) 02:07:54
いいえ
283デフォルトの名無しさん:2010/09/29(水) 03:19:18
メモリクリーナーみたいにタスクマネージャで表示されるメモリにゴミがあったら開放するやり方ってどうすればいい?
calloc失敗するまで読み込んで失敗したら終了したら一応はその動作するけど外道だし

int *p;
while (1) {
p = calloc
失敗したらbreak
}

これだとexe終了処理で開放されてるけどfreeしてないし
freeするにしてもwhileの中でやったら無限ループになるし
外でやっても最後のpしかfreeされないしで思いつかない

int i, count, **p
*p = calloc
while (1) {
p = calloc
失敗したらbreak
count++;
}
for(i=0;i<count;i++) {
free(p)
}
free(*p)

こんな感じに出来ない?
284デフォルトの名無しさん:2010/09/29(水) 03:25:15
ひどすぎる
285デフォルトの名無しさん:2010/09/29(水) 04:12:23
p[0]を確保してp[0][count]を確保
p[0][i]を開放してp[0]を開放って感じか?
286デフォルトの名無しさん:2010/09/29(水) 04:29:15
ソースコードで発見した奇妙なコメント集
http://www.webcreatorbox.com/webinfo/comments-source-code/
287デフォルトの名無しさん:2010/09/29(水) 06:24:16
以下のコードを実行するとiが66を超えたところで、lにマイナスの値が代入されるのはなぜですか?

int i = 0;
for (; i <= 100; i++) {
long l = i * 33000000;
LOGI("i=%d l=%d", i, l);
}
288デフォルトの名無しさん:2010/09/29(水) 06:34:58
>>287
オーバーフロー
32bit環境ではlongは4Byte(-2147483648〜2147483647)
289デフォルトの名無しさん:2010/09/29(水) 06:37:46
オーバーフローが疑わしい

log2(65 * 33000000) ≒ 30.998
log2(66 * 33000000) ≒ 31.020
290デフォルトの名無しさん:2010/09/29(水) 08:12:24
C言語の本で

配列内の文字は、終端ナル文字の直前まで出力される、精度が指定されない
場合や、精度が配列の大きさより大きい場合、配列は必ずナル文字を含んで
なければならない。
 ↑
とあるけどこれの意味がわかりません・・どういうことですか?
291デフォルトの名無しさん:2010/09/29(水) 08:13:40
指定の精度が配列より小さい場合、ナル文字は含まなくてもいいのですか?
ナル文字0はかならず終端に容量をとって含まれるものでしょう?
292デフォルトの名無しさん:2010/09/29(水) 08:26:14
>>290
それはprintf()系の話だと思うが、説明がやや的外れだと思う。
例えばフォーマット指定で%.10sなどとした場合、10バイトを超えて出力されることがないことが保証されているに過ぎない。
従って、通常は必ずナルターミネートされていないといけない。
293デフォルトの名無しさん:2010/09/29(水) 08:42:44
// まぁ、こういうことだ。
char buf[] = "abcdefghijklmn";
printf("%s\n", buf);
// 10バイトしか出力されない(%10sとの違いに注意)
printf("%.10s\n", buf):
// 長さはナル文字を含まないが、配列のサイズには含まれる。
printf("%u, %u\n", (unsigned) strlen(buf), (unsigned) sizeof(buf));
294デフォルトの名無しさん:2010/09/29(水) 08:59:30
ところでおまいらプリプロセッサなに使ってる?
stdio.h使ってるんだけどそろそろ変えようかなって思ってるんだよね。
あれ?プリプロセスだっけ
まぁなんでめいいや
295デフォルトの名無しさん:2010/09/29(水) 09:03:49
Visual Studioの最適化オプションって何が一番いいですか?
296デフォルトの名無しさん:2010/09/29(水) 09:07:15
>>294
邪道は入門篇の対象外です。

>>295
VisualStudioのスレへどうぞ。
297デフォルトの名無しさん:2010/09/29(水) 09:19:04
>>292
C言語の入門書読んでるけど3Pに一か所くらい、どういう意味?って
感じの説明があるんだが・・・
298デフォルトの名無しさん:2010/09/29(水) 09:20:47
>>292
ナルは必ず要領を食うってことですか?
299デフォルトの名無しさん:2010/09/29(水) 10:52:17
>>297
その塵本は捨てて、別な本を買った方がよい。
300デフォルトの名無しさん:2010/09/29(水) 11:34:53
クラス内の関数ポインタの動的確保ってどうするの?
例えば
int (A::*test)();
っていう関数ポインタがあったとして、こいつを動的確保する方法です。

newに渡しても、コンパイルエラーになったり、
typedefしようとしても、戻り値の後ろの空白のせいでコンパイルエラーになったり
してしまいます。

正しいtypedefと動的確保について教えてください。
301デフォルトの名無しさん:2010/09/29(水) 12:31:14
いやまて何を動的確保する気だよwwww

typedefは普通に
typedef int (A::*test)();
だが
302デフォルトの名無しさん:2010/09/29(水) 12:35:19
>>300,301
消えろ
303デフォルトの名無しさん:2010/09/29(水) 12:40:06
>>301
ありがとうございます。
途中で関数ポインタの配列を用意しないといけない状況になってるんですが、
動的確保できないんですかねぇ。
304デフォルトの名無しさん:2010/09/29(水) 12:52:08
>>292
strncpy() の指示数と被代入変数の器の大きさとか?

上限5文字で切りたい場合 器は \0 を含めて 6個必要
(strncpyでは、さらに上限いっぱいの場合には 明示的に \0 代入が欲しい)

char buf[6];
strncpy(buf, 5, "123456789abcd");

 buf[0] = '1'
 buf[1] = '2'
 buf[2] = '3'
 buf[3] = '4'
 buf[4] = '5'
 buf[5] = <不定>
305デフォルトの名無しさん:2010/09/29(水) 12:53:25
不定(笑)
306デフォルトの名無しさん:2010/09/29(水) 12:58:52
>>302
ごめんCスレだと気付かなかった
これで終わると思うので勘弁してください
次は最初から誘導しようと思います

>>303
ならそういえ
typedef int (A::*test)();
test *p2 = new test[10];
307デフォルトの名無しさん:2010/09/29(水) 13:06:40
>>306
ありがとうございます!出来ました!
C++スレ別にあったんですね。次からは気をつけます!
308デフォルトの名無しさん:2010/09/29(水) 13:29:19
>>306
なんでこのスレで答えるの?
死ねば!
309デフォルトの名無しさん:2010/09/29(水) 13:34:31
CとC++スレの区別もつかないヤツって、コード書いててもミスばっかりなんだろうな
310デフォルトの名無しさん:2010/09/29(水) 13:43:12
GCCとVisualStudioでアセンブラのソースを見たんですが、小さい方が
早いですか?
311デフォルトの名無しさん:2010/09/29(水) 13:44:35
>>310
どうしてそのような思考に至ったのか書け。
かかねえなら死ね。
312デフォルトの名無しさん:2010/09/29(水) 13:49:34
ステップ数が少ない方が実行速度が速いのかなと思ったので。
後いろいろ最適化かけてみて平均的に早い(どちらも大して変わらない)
方を選ぼうと思ったので聞いてみることにしました。
313デフォルトの名無しさん:2010/09/29(水) 13:59:58
ファイルから複素行列を読み込んで
complex A[N][N];
で宣言した2次元配列に格納したいと考えてます。
例えば、N=3のとき、
ファイルには実部と虚部がスペース区切りで以下のように並んでいる場合、
(実部と虚部で1要素)
どのようにして読み込めばいいでしょうか。

実部 虚部 実部 虚部 実部 虚部
実部 虚部 実部 虚部 実部 虚部
実部 虚部 実部 虚部 実部 虚部

もちろんエラーが出るのですが、
感覚的には以下のようにして読み込みたいです。

for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
fscanf(fp, "%lf %lf", creal(matrix[i][j]), cimag(matrix[i][j]));
}
}
314デフォルトの名無しさん:2010/09/29(水) 14:01:16
ベンチマークをひとにやらせるな。
315デフォルトの名無しさん:2010/09/29(水) 14:04:31
>>313
double x, y;
fscanf(fp, "%lf %lf", &x, &y);
matrix[i][j] = complex(x, y);
316デフォルトの名無しさん:2010/09/29(水) 14:08:04
ここの先生方の力で初心者向けC言語講座サイトを作成していただけませんか?
もちろんアフィリエイトは踏ませていただきます
317デフォルトの名無しさん:2010/09/29(水) 14:17:51
>>312
感覚的には悪くない発想だが、そうでない例もあるので保証にはならない
例えばループアンロールは命令量を増大させるが、
適切に使用すれば性能は上がる
318デフォルトの名無しさん:2010/09/29(水) 14:29:58
>>315
ありがとうございます。

double x, y;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
fscanf(fp, "%lf %lf", x, y);
matrix[i][j] = complex(x, y);
}
}

とすると
error: expected expression before ‘__complex__’
と出てしまったので、

complex x, y;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
fscanf(fp, "%lf %lf", x, y);
matrix[i][j] = x + y * I;
}
}

とすると、コンパイルは通るのですが
セグメントエラーになってしまいました;

どうすればいいでしょうか?
319デフォルトの名無しさん:2010/09/29(水) 15:31:35
>>318
&x, &y
320デフォルトの名無しさん:2010/09/29(水) 15:47:27
>>318
*x,*y
321デフォルトの名無しさん:2010/09/29(水) 15:52:15
>>318
scanfの使い方を間違っている。%lfならdoubleへのポインタを渡す。

とにかくなんでもまずはhelpを読むんだ。unix系ならman、WinならMSDN。
次にgoogle先生でコードを探してそれをパクる。
他人が書いたライブラリを使おうってのに説明なしなんてあまりにも無茶すぎる。

で、complexってstd::complex?ならそれはC++。
322デフォルトの名無しさん:2010/09/29(水) 15:55:37
Cで必要最低限の機能を持った簡単なシューティングを作る場合、
コードは何行で収まりますか?
323デフォルトの名無しさん:2010/09/29(水) 15:56:22
>>322
改行しなきゃ一行だろ
324デフォルトの名無しさん:2010/09/29(水) 15:58:53
>>323
ぷぷぷ、だよなw
325デフォルトの名無しさん:2010/09/29(水) 16:04:56
Cで必要最低限の機能を持った簡単なシューティングを作る場合、 コードは何行で収まりますか?
326デフォルトの名無しさん:2010/09/29(水) 16:04:58
規格上、一行あたりの文字数には制限があったはずだが
C89で511文字とかだっけ?
327デフォルトの名無しさん:2010/09/29(水) 16:06:01
つまんね
328デフォルトの名無しさん:2010/09/29(水) 16:07:40
>>323=>>324自演乙
329デフォルトの名無しさん:2010/09/29(水) 16:10:09
>>325その質問には意味がない。
それと二度と書きこまないように。
330デフォルトの名無しさん:2010/09/29(水) 16:28:47
またおまえかC#スレに変えれ
331デフォルトの名無しさん:2010/09/29(水) 16:33:42
※このスレは中級者見習いが初心者を罵倒するスレです
332デフォルトの名無しさん:2010/09/29(水) 16:47:53
左辺値って何ですか
ググッてもよくわからないんですが
333デフォルトの名無しさん:2010/09/29(水) 16:52:00
>>210
駄目だが、ヒントにはなった。ありがとう。
334デフォルトの名無しさん:2010/09/29(水) 16:56:01
>>332
代入演算子の左辺に現れることのできる値のことです
例えば x = 3 の x のことです
335デフォルトの名無しさん:2010/09/29(水) 18:28:20
OpenSSLのファイル暗号化の秘密鍵ってどうやって生成されてるの?
ファイルごとに毎回変わってるの?
336デフォルトの名無しさん:2010/09/29(水) 18:31:52
コイツいつまで粘着するの?
337デフォルトの名無しさん:2010/09/29(水) 18:33:41
>>336
お前が粘着してんだろ
338デフォルトの名無しさん:2010/09/29(水) 18:41:17
公開鍵の生成は確率的暗号化してるってわかるけど、(OAEP)
秘密鍵暗号の場合は鍵をどう使っているのか不思議。
まさかパスワード?
339デフォルトの名無しさん:2010/09/29(水) 18:54:36
スレ違い
340デフォルトの名無しさん:2010/09/29(水) 18:56:24
>>338は、発言によりLinuxもTeraTermを使ったこともないことがバレたようです。
341332:2010/09/29(水) 19:02:25
>>334
ありがとうございます
もう一つ質問なんですが(x=y)=6はなぜだめなんでしょうか
342デフォルトの名無しさん:2010/09/29(水) 19:14:24
>>341
代入式は左辺値ではないからです
左辺値でないので x=y は = の左側に来ることはできません
343デフォルトの名無しさん:2010/09/29(水) 19:15:14
>>338
このスレは馬鹿ばっかりだから、聞くだけ無駄
344デフォルトの名無しさん:2010/09/29(水) 19:16:03
(x = y) はyを代入したxの値として評価されるから
345デフォルトの名無しさん:2010/09/29(水) 19:17:17
>>343
だな。
346デフォルトの名無しさん:2010/09/29(水) 19:17:26
両方に代入したきゃ()つけないで、x=y=6でいいじゃん
347デフォルトの名無しさん:2010/09/29(水) 19:18:37
>>342
それは違うx=yは左辺値だよ、人に教える前に自分が勉強しろ
348デフォルトの名無しさん:2010/09/29(水) 19:18:45
追い払おうとしてるのか自演なのかよく分からん
349デフォルトの名無しさん:2010/09/29(水) 19:20:09
”代入演算子の左辺に現れること”が出来ないから左辺値じゃないんじゃねw
350デフォルトの名無しさん:2010/09/29(水) 19:20:23
>>347
そだね、()で囲むのが問題、それによって左辺値でなくなる。
351デフォルトの名無しさん:2010/09/29(水) 19:20:32
>>347
わざわざ調べて書いたから間違いない
An assignment expression has the value of the left operand after the assignment, but is not an lvalue.
って書いてあった
352デフォルトの名無しさん:2010/09/29(水) 19:21:06
普通に考えて分解すると
x=y;
x=1;
の順で計算されてるから
353デフォルトの名無しさん:2010/09/29(水) 19:21:17
>>349
馬鹿はどっかいけ!
354デフォルトの名無しさん:2010/09/29(水) 19:34:35
>>350
では (x) = 6; はダメなのか?

# 左辺値という言葉の「左」は確かに代入に由来するようだが
# 今となっては左辺値であっても代入はできないものがゴロゴロある
355デフォルトの名無しさん:2010/09/29(水) 19:35:30
あげんな
356デフォルトの名無しさん:2010/09/29(水) 19:40:43
x=yという式の値は右辺値だろw
357デフォルトの名無しさん:2010/09/29(水) 19:59:09
3秒間に何回暗号化できるかの実験をしたいのですが、時間を制限して
プログラムを実行するいい方法はありませんか。因みにOpenSSLでは、

openssl speed des aes camellia

で3秒間に処理できるブロック数が表示されます。
358デフォルトの名無しさん:2010/09/29(水) 20:01:16
3秒あたり何回回ったかがわかればいいんじゃないの?
359デフォルトの名無しさん:2010/09/29(水) 20:03:25
暗号くんのレスをすべてつなげてある復号化アルゴリズムにかけると徳川埋蔵金の在処を示す文字列になる
360デフォルトの名無しさん:2010/09/29(水) 20:05:13
暗号中学生はいつになったら消えるの?
361デフォルトの名無しさん:2010/09/29(水) 20:11:42
スルー徹底すればすぐにでも
362デフォルトの名無しさん:2010/09/29(水) 20:14:50
3秒でプログラムを停止させる方法が知りたいです。
363デフォルトの名無しさん:2010/09/29(水) 20:16:09
alarm(3);
364デフォルトの名無しさん:2010/09/29(水) 20:21:09
エラーが出ます。

未解決のシンボルalarmが関数mainで参照されました。

manで調べても出てきません。何回ループしたかも表示させたいです。
365デフォルトの名無しさん:2010/09/29(水) 20:23:42
1万回処理するのにどんくらい時間がかかるか調べろよ
366デフォルトの名無しさん:2010/09/29(水) 20:24:11
暗号の前にCの基礎を勉強しろ馬鹿。やる気ないならやめちまえ
367デフォルトの名無しさん:2010/09/29(水) 20:26:05
#include <time.h>

int main(void)
{
  time_t start_time, now_time;
  time(&start_time);
  while(1)
  {
    time(&now_time);
    if((now_time - start_time) >= 3){ break; }
  }
  return 0;
}
368デフォルトの名無しさん:2010/09/29(水) 20:27:58
9000000回で13秒。
カメリアは3秒。
369デフォルトの名無しさん:2010/09/29(水) 20:28:35
それだと、timeの実行時間が付加されるような
370デフォルトの名無しさん:2010/09/29(水) 20:35:18
それは仕方なくね。
while内を2倍にすれば差でタイムがわかるとおもう
371デフォルトの名無しさん:2010/09/29(水) 20:38:42
> 9000000回で13秒
?=9000000*3/13
372低脳基地:2010/09/29(水) 21:01:53
お前ら何を、右辺値とか左辺値とか分け解らん言葉使っているんだ
正しく右辺オブジェクト、左辺オブジェクトと使えよw
(x=y)=6の (x=y)の結果が名前付の左辺オブジェクトを返さないからだろ
何が帰ってくるのかって?
x=0、y=1
した場合(x=y)で戻ってくるのは名前付オブジェクトxではなく,xが管理しているの数字の1
お前ら1=6って平気でやって何でだって大騒ぎしてるんだろw
int a,b
a=bとした時にオブジェクトaとオブジェクトbが同一になるのかよ。それが管理していの値が同じになるだけだろ
管理しているもの値は同じになるが、オブジェクトが同じになるわけじゃない。同じになるならアドレスも同じになるよな。
よくあるパターンのif( (c = Fxxx()) == XXX ){}の(c = xxx())でもそう
で==の右左の条件って何か教えて
struct neko{};、struct neko a、 struct neko b、a == b、何を比較してるんだこれ
373デフォルトの名無しさん:2010/09/29(水) 21:03:58
memcpy?
374デフォルトの名無しさん:2010/09/29(水) 21:07:31
memcmp?の方だった
375デフォルトの名無しさん:2010/09/29(水) 21:34:46
実際にtime()程度の精度のタイマーで時間を測りたいなら、
>367のwhileの前に一旦変化点を見定めておかないと誤差が平均0.5secに拡大してしまうよ。
376デフォルトの名無しさん:2010/09/29(水) 22:21:51
memcpyってどう使うの?
377デフォルトの名無しさん:2010/09/29(水) 22:28:33
struct neko{};、struct neko a、 struct neko b、a = b
378デフォルトの名無しさん:2010/09/29(水) 23:11:45
>>376
代入演算子=の関数版がmemcpy
struct neko{};、struct neko a、 struct neko b、a = b
ならmemcpy( &a, &b, sizeof(a) )
379デフォルトの名無しさん:2010/09/29(水) 23:26:54
>>376
>378の説明では不充分だけど、使わなければならないケースは入門レベルを超えるので使えなくても大丈夫。
380デフォルトの名無しさん:2010/09/30(木) 02:54:26
>>319-321
double x, y;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
fscanf(fp, "%lf %lf", &x, &y);
matrix[i][j] = x + y * I;
}
}

遅くなりましたが、これでできました。
本当にありがとうございました
381デフォルトの名無しさん:2010/09/30(木) 03:05:22
CygwinのGCCで作ったバイナリをWINのコンソールで実行させるにはどうしたら
いいですか?GCCで作ったバイナリの方が早かったのでWIN上での動作確認を
したいです。どなたか教えてください。
382デフォルトの名無しさん:2010/09/30(木) 03:19:35
>>381
MinGWを入れるべし
383デフォルトの名無しさん:2010/09/30(木) 04:09:24
インストールしてる間にフリーズして出来ない。
CygwinはDOSのプロンプトから実行できないけどMinGWは出来るんですか?
384デフォルトの名無しさん:2010/09/30(木) 04:13:27
できます
というかMSVCRT.DLLを使ってるからWindowsでそのまま実行できるはず
385デフォルトの名無しさん:2010/09/30(木) 04:14:22
入れるんだったらここのwebdlがいいよ

http://tdm-gcc.tdragon.net/download
386デフォルトの名無しさん:2010/09/30(木) 04:28:00
emmintrin.h
がないってエラーが出ます。
387デフォルトの名無しさん:2010/09/30(木) 05:05:06
c:\mingw32\bin\../lib/gcc/mingw32/4.5.1/include/emmintrin.h:32:3: error: #error
"SSE2 instruction set not enabled"
388デフォルトの名無しさん:2010/09/30(木) 07:26:55
ふはぁ
389デフォルトの名無しさん:2010/09/30(木) 07:49:20
mingw32のコンパイラのバージョンは4.5.1だけどCygwinのバージョン
は4.3.4です。GCCのオプションで
gcc -O3 -ftree-vectorize を付けたとき、Cygwinのときはループの
ベクトル化をしてくれますがmingw32のときは失敗してベクトル化
してくれません。どうすればいいですか。
390デフォルトの名無しさん:2010/09/30(木) 08:03:20
>>389
cygwinで-fno-cygwinだとどう?

つーか、入門篇で扱う内容じゃないから後はCygwin/Mingwスレで。
391デフォルトの名無しさん:2010/09/30(木) 08:16:29
-fno-cygwin
GCCでそんなオプションありませんでした。
Cygwinスレも見つかりません。
392デフォルトの名無しさん:2010/09/30(木) 08:29:03
>GCCでそんなオプションありませんでした。
どんなエラーが出た? それと、gcc --versionした結果は?

>Cygwinスレも見つかりません。
どこ探しているの? 馬鹿なの?
Cygwin + MinGW + GCC 相談室 Part 5
http://hibari.2ch.net/test/read.cgi/tech/1269400706/
393デフォルトの名無しさん:2010/09/30(木) 08:35:52
cc1.exe: error: unrecognized command line option "-fno-cygwin"
gcc (tdm-1) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
394デフォルトの名無しさん:2010/09/30(木) 09:01:37
fno-cygwinに似たオプションがあるからそれだね
395デフォルトの名無しさん:2010/09/30(木) 10:06:13
暗号くんは難しい?計算式は理解できるけど
簡単なことは理解できないんだね。
英語のエラーメッセージもまともに読まないって感じか?
396デフォルトの名無しさん:2010/09/30(木) 10:15:50
>>395
そうです
397デフォルトの名無しさん:2010/09/30(木) 12:12:21
http://codepad.org/RJ3J8hjW
数独を解答するプログラムを作りましたがなぜかうまくいきません
原因を教えていただけないでしょうか?
0 0 3 0 0 0 0 0 0
0 9 0 0 0 0 2 0 0
4 0 0 5 7 8 0 1 0
0 8 2 9 0 0 4 0 3
0 0 5 0 0 0 0 0 7
0 0 1 0 0 0 0 0 8
8 0 0 6 2 5 0 9 0
0 0 0 4 0 0 0 0 0
0 6 0 0 0 0 8 0 0
398デフォルトの名無しさん:2010/09/30(木) 12:24:05
>>394
-mno-cygwin ではどうでしょうかね。
399デフォルトの名無しさん:2010/09/30(木) 12:37:06
>>398
移動したようだから相手にすんな。

>>397
コード追うのが面倒なんだけど、再帰を使わずにどうやってバックトラックしているの?
400397:2010/09/30(木) 12:48:23
もしブロック内または縦横に同じ数がなければmasu[x]を確定しnext(y,x+1)に進み
先で不具合があったらmasu[x]まで戻って次の数に進むようにしようとしたのですが
うまくいきません
401デフォルトの名無しさん:2010/09/30(木) 14:24:04
>>400
コード汚すぎ
どうして再帰呼び出しでやらないの?
配列に2次元にすりゃいいのに。。。
402397:2010/09/30(木) 14:41:58
>>401
今月の頭から覚え始めたばかりなのでコードの汚さはご容赦ください
再帰呼び出しについて調べてみることにします
403デフォルトの名無しさん:2010/09/30(木) 14:49:53
数独ってどうやんのが一番効率いいんかね
力任せに再帰していったらいつ終わるかわからんぜ
404デフォルトの名無しさん:2010/09/30(木) 14:52:07
一番穴の少ない行または列から探し始めれば少しはマシなんじゃないかな
405デフォルトの名無しさん:2010/09/30(木) 14:54:16
>>403
最近のCPUを舐めちゃいかんよ。真面目にアルゴリズムを考えるなくても、
単純なバックトラックだけで実装しても充分実用的な時間で解ける。
406デフォルトの名無しさん:2010/09/30(木) 15:11:45
すみません。

char*型の文字列をTCHAR*型の文字列に変換する関数を作成したのですが、
少なくともUNICORD実装環境では4文字('\0'含む)までしか正しく変換出来ません。

問題点について考察したのですが、良く分からないのでご教授頂けたらと思います。

TCHAR* char_to_tchar(const char *pszChar){
long nLen;

TCHAR *pszTchar;

/*入力がNULLだった場合*/
if(pszChar==NULL){
return NULL;
}

/*文字数の取得*/
for(nLen=0;pszChar[nLen]!='\0' && nLen>=0;nLen++);
nLen++;

/*メモリの確保*/
pszTchar=(TCHAR*)malloc(sizeof(TCHAR)*(nLen+1));

/*メモリの確保に失敗した場合*/
if(pszTchar==NULL){
return NULL;
}

続く
407デフォルトの名無しさん:2010/09/30(木) 15:14:08
>>406の続き

#ifdef UNICODE
/*char型からwchar_t型に変換*/
::MultiByteToWideChar(CP_THREAD_ACP,0,pszChar,strlen(pszChar)+1,(LPWSTR)pszTchar,sizeof(pszTchar));

#else
/*文字列のコピー*/
strcpy(pszTchar,pszChar);

#endif

return pszTchar; //処理が終わったらfree
}



正しく変換できるの最初の4文字までで、以降は文字化けします。

知識のある方、是非お願い致します。
408デフォルトの名無しさん:2010/09/30(木) 15:15:12
sizeof(pszTchar) == 4
409397:2010/09/30(木) 15:29:39
ネットを見ながら書いてみた結果さらに悪化したのですが何ででしょうorz
http://codepad.org/mxC15vFl
410デフォルトの名無しさん:2010/09/30(木) 15:33:58
なぁ、そもそも数独って何?
411デフォルトの名無しさん:2010/09/30(木) 15:40:30
>>410
めんどくさいから検索してくれ。簡単に言えば、9x9升に1から9の数字を縦横ブロック毎にユニークになるように並べるパズルだ。
412デフォルトの名無しさん:2010/09/30(木) 15:40:31
・同じ列で同じ数字を2つ以上使ってはいけない
・同じ行で同じ数字を2つ以上使ってはいけない
・3x3ブロック内で同じ数字を2つ以上使ってはいけない
以上の条件を満たすように空欄を1〜9の数字で埋めるゲーム
413397:2010/09/30(木) 15:40:46
>>410
3×3のブロックに区切られた 9×9 の正方形の枠内に1〜9までの数字を入れるパズル
ナンプレ
414デフォルトの名無しさん:2010/09/30(木) 15:49:35
>>405
試しに作ってみた。雑に作ったら結構時間掛かったぞ。
--
$ time ./a < foo
0 0 3 0 0 0 0 0 0
0 9 0 0 0 0 2 0 0
4 0 0 5 7 8 0 1 0
0 8 2 9 0 0 4 0 3
0 0 5 0 0 0 0 0 7
0 0 1 0 0 0 0 0 8
8 0 0 6 2 5 0 9 0
0 0 0 4 0 0 0 0 0
0 6 0 0 0 0 8 0 0

7 5 3 1 9 2 6 8 4
1 9 8 3 4 6 2 7 5
4 2 6 5 7 8 3 1 9
6 8 2 9 1 7 4 5 3
9 4 5 8 6 3 1 2 7
3 7 1 2 5 4 9 6 8
8 3 4 6 2 5 7 9 1
2 1 7 4 8 9 5 3 6
5 6 9 7 3 1 8 4 2


real 0m32.131s
user 0m30.733s
sys 0m0.030s
415デフォルトの名無しさん:2010/09/30(木) 15:59:15
規格で保証されてんのは再帰17(?)回だっけ
それ以下で解けないとだめだよなJK
416デフォルトの名無しさん:2010/09/30(木) 16:06:11
規格に制限なんかあったか?
スタックさえ気をつければ平気だと思ったが
417397:2010/09/30(木) 16:07:20
ミスが見つけられないorz
0 0 3 0 0 0 0 0 0
0 9 0 0 0 0 2 0 0
4 0 0 5 7 8 0 1 0
0 8 2 9 0 0 4 0 3
0 0 5 0 0 0 0 0 7
0 0 1 0 0 0 0 0 8
8 0 0 6 2 5 0 9 0
0 0 0 4 0 0 0 0 0
0 6 0 0 0 0 8 0 0

1 1 3 1 1 1 5 4 4
1 9 6 1 1 1 2 3 4
4 2 6 5 7 8 3 1 6
6 8 2 9 1 1 4 5 3
3 3 5 1 1 1 1 2 7
3 3 1 2 3 2 5 2 8
8 1 4 6 2 5 1 9 1
1 1 7 4 1 1 1 2 1
1 6 4 1 1 1 8 2 1
418デフォルトの名無しさん:2010/09/30(木) 16:34:11
>>417
動くように直してみたよ
見比べて参考にしてみてくれ
http://codepad.org/F1qWvnwF
419デフォルトの名無しさん:2010/09/30(木) 16:42:04
>>415
何の規格だyp
ちなみに、>414はPen4 2.2GHzでの時間ね。

って書いているうちに>418を見たのでそれも試した。
--
$ time ./a < foo

7 5 3 1 9 2 6 8 4
1 9 8 3 4 6 2 7 5
4 2 6 5 7 8 3 1 9
6 8 2 9 1 7 4 5 3
9 4 5 8 6 3 1 2 7
3 7 1 2 5 4 9 6 8
8 3 4 6 2 5 7 9 1
2 1 7 4 8 9 5 3 6
5 6 9 7 3 1 8 4 2
real 0m0.057s
user 0m0.046s
sys 0m0.030s
--
冗談じゃねぇw
420デフォルトの名無しさん:2010/09/30(木) 16:53:44
>>414=>>419 涙目w

例の「最も難しい」とされる問題でどの位掛かるんだ?
隙間が多かろうが論理的に解くには複雑だろうが総当りなら関係ないと思うんだが。
421デフォルトの名無しさん:2010/09/30(木) 16:55:05
>>415
main() { a(17); }
a(b)
{
char c[2147483647];
if(b) a(b-1);
}
422デフォルトの名無しさん:2010/09/30(木) 17:07:30
>>420
これ?
--
. . 5 3 . . . . .
8 . . . . . . 2 .
. 7 . . 1 . 5 . .

4 . . . . 5 3 . .
. 1 . . 7 . . . 6
. . 3 2 . . . 8 .

. 6 . 5 . . . . 9
. . 4 . . . . 3 .
. . . . . 9 7 . .
--
ほらよ。Cygwinだから所要時間は誤差の範疇。
--
$ time ./a < most

1 4 5 3 2 7 6 9 8
8 3 9 6 5 4 1 2 7
6 7 2 9 1 8 5 4 3
4 9 6 1 8 5 3 7 2
2 1 8 4 7 3 9 5 6
7 5 3 2 9 6 4 8 1
3 6 7 5 4 2 8 1 9
9 8 4 7 6 1 2 3 5
5 2 1 8 3 9 7 6 4
real 0m0.056s
user 0m0.030s
sys 0m0.062s
423デフォルトの名無しさん:2010/09/30(木) 17:28:26
9x9を9枚のレイヤーみたいに扱って
9X9X9のビット列で比較したら速くならないかな
424414=419=422:2010/09/30(木) 17:45:31
>>423
これ以上早くしてどうすんのw

というわけで、自分のも計測誤差の領域まで速くなった。
既にある数字まで無駄にチェックしちゃっていたよ。
425デフォルトの名無しさん:2010/09/30(木) 17:48:58
小手先の技で高速化しようとするな。
素直にシンプルに書け。
高速化の要求はハード側にしろ。
426>>406-407:2010/09/30(木) 19:22:15
>>408
無事解決いたしました。
ありがとうございました。
427デフォルトの名無しさん:2010/09/30(木) 19:34:35
>>414
遅すぎワロタ
428デフォルトの名無しさん:2010/09/30(木) 19:40:14
>>427
sysでは勝ってるだろバカ
429デフォルトの名無しさん:2010/09/30(木) 20:09:34
VC++2010
なぜかelseの中まで実行していく・・・助けてクリ

DWORD dBuf;
MENUITEMINFO info;
GetMenuItemInfo( hSubMenu, IDM_TOPMOST, FALSE, &info );

if( info.fState == MFS_CHECKED )
{
dBuf = MFS_UNCHECKED;
SetWindowPos(hWnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
} else {
dBuf = MFS_CHECKED;
SetWindowPos(hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
}
430デフォルトの名無しさん:2010/09/30(木) 20:10:49
(info.fState & MFS_CHECKED) == MFS_CHECKED
431デフォルトの名無しさん:2010/09/30(木) 20:11:36
言葉足らずだった;
条件が真の場合でもelseの中実行してしまう
432デフォルトの名無しさん:2010/09/30(木) 20:16:23
>>430
アリガトンでもまだ実行してしまう;;

if((info.fState & MFS_CHECKED) == MFS_CHECKED){
dBuf = MFS_UNCHECKED;
SetWindowPos(hWnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
} else {
dBuf = MFS_CHECKED;
SetWindowPos(hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
}
433デフォルトの名無しさん:2010/09/30(木) 20:18:25
実行するわきゃねーだろ。全部コード晒せ。
434デフォルトの名無しさん:2010/09/30(木) 20:20:36
>>432
それでだめならそもそもinfo.fStateにフラグが立ってない
そこのコード以外の部分の問題だ
435デフォルトの名無しさん:2010/09/30(木) 20:26:38
とりあえず前後だけ。ほんとにナゾ・・・
これでもダメだったら恥ずかしい部分(コード的にじゃなくて)修正してうpします。

static HMENU hMenu,hSubMenu;
MENUITEMINFO info;
ZeroMemory(&info,sizeof(MENUITEMINFO));
static DWORD dBuf;
/*メッセージ分岐*/
case IDM_TOPMOST: //システムトレイアイコン右クリック時ポップアップメニューの中にある最前面表示切替
info.cbSize = sizeof(info);
info.fMask = MIIM_STATE;
hMenu = LoadMenu(hInst,MAKEINTRESOURCE(IDR_MENU1));
hSubMenu = GetSubMenu( hMenu, 0 );

GetMenuItemInfo( hSubMenu, IDM_TOPMOST, FALSE, &info ); //チェック状態取得

if((info.fState & MFS_CHECKED) == MFS_CHECKED){
dBuf = MFS_UNCHECKED;
SetWindowPos(hWnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
} else {
dBuf = MFS_CHECKED;
SetWindowPos(hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
}

info.fState=dBuf;

hMenu = LoadMenu(hInst,MAKEINTRESOURCE(IDR_MENU1));
hSubMenu = GetSubMenu( hMenu, 0 );
SetMenuItemInfo( hSubMenu, IDM_TOPMOST, FALSE, &info );
break;
436デフォルトの名無しさん:2010/09/30(木) 20:28:01
info.fStateは8が入ってます。うーむ??
437デフォルトの名無しさん:2010/09/30(木) 20:29:26
関数自体が2回呼び出されてるんじゃないの?
438デフォルトの名無しさん:2010/09/30(木) 20:29:58
elseブロックの中に入ってるって根拠はもちろんデバッガなんだよな?
439デフォルトの名無しさん:2010/09/30(木) 20:30:27
>>435
本当に両方実行されているってどう確認した?
440デフォルトの名無しさん:2010/09/30(木) 20:31:26
俺も static が気になるなあ
441デフォルトの名無しさん:2010/09/30(木) 20:32:38
も、ってお前しか気にしてない
442デフォルトの名無しさん:2010/09/30(木) 20:32:39
VC++で両方にブレークポイントはってるんですがそこが実行されてるんです。。。
443デフォルトの名無しさん:2010/09/30(木) 20:35:03
紛らわしいので追記ステップで実行しました・・・
444デフォルトの名無しさん:2010/09/30(木) 20:35:45
両方だけじゃなくてif文の前後にも置いて、1回の実行で両方実行されてるか調べて
445デフォルトの名無しさん:2010/09/30(木) 20:36:05
なんで毎回LoadMenuしてんだ
446デフォルトの名無しさん:2010/09/30(木) 20:42:18
>>444
elseの中のブレークポイントふみませんでした;;;
凡ミスかもしれませんつってk(

んでもステップオーバーだと踏んでいくんです
>>445
ハンドルがしょっちゅう変わるんで。これも謎なんです・・・
447デフォルトの名無しさん:2010/09/30(木) 20:43:55
もしかして: リリースビルド
448デフォルトの名無しさん:2010/09/30(木) 20:44:19
LoadMenu の段階で menu-state は初期化される

LoadMenu(初期状態) → 条件分岐 → LoadMenu(初期状態) → state セット
2回目の以降の呼び出しも同じように
LoadMenu(初期状態) → 条件分岐 → LoadMenu(初期状態) → state セット

LoadMenu を1回だけ呼ぶようにして 状態を保持したまま分岐できるようにしないとマズイ
449デフォルトの名無しさん:2010/09/30(木) 20:47:33
>>447
そのようでした。お手数かけました。さよならありがとちきゅうすれ汚しゴメンネあふうううう
450397:2010/09/30(木) 20:48:40
解決しました
>>418
ありがとうございます
451デフォルトの名無しさん:2010/09/30(木) 20:49:59
>>448
MSDNちゃんと読んでませんでした。んで結果ちゃんと動きました。
レス下さった皆様、本当にありがとうございました。
452デフォルトの名無しさん:2010/10/01(金) 07:22:58
ふっほっはっ
453デフォルトの名無しさん:2010/10/01(金) 08:15:24
警告が出て気になります。何が原因でしょうか。

#if 1
{
dd= &buff[k*16];
u= *dd;
}
#else
memcpy(u.m,&buff[16*k],16);
#endif

memcpy(dd,&buff[16*k],16);

hash.c:230:11: warning: assignment from incompatible pointer type
hash.c:237:7: warning: incompatible implicit declaration of built-in function 'm
emcpy'
454デフォルトの名無しさん:2010/10/01(金) 08:39:12
incompatible pointer type って書いてあるのに。
implicit declarationは、適切なheader fileをincludeしていないから。
incompatibleっていってるからincludeすると別の警告が出るだろうけど。
455デフォルトの名無しさん:2010/10/01(金) 11:28:00
string.hを追加すれば、消えるでしょ
456デフォルトの名無しさん:2010/10/01(金) 11:33:53
エラーメッセージが解読できない暗号くんでした
457デフォルトの名無しさん:2010/10/01(金) 12:03:36
なぜこんなにも妬ましいのだろう
458デフォルトの名無しさん:2010/10/01(金) 13:43:06
incompatible pointer type って書いてあるのに。
implicit declarationは、適切なheader fileをincludeしていないから。
incompatibleっていってるからincludeすると別の警告が出るだろうけど。
459デフォルトの名無しさん:2010/10/01(金) 18:09:56
ふっほっはっ
460デフォルトの名無しさん:2010/10/01(金) 18:10:29
C++に慣れると変数宣言の位置が固定なのにイラッとするな
おかげでスコープ区切るだけの括弧が量産されるわ
461デフォルトの名無しさん:2010/10/01(金) 18:27:01
C99
462デフォルトの名無しさん:2010/10/01(金) 18:30:14
動的言語に慣れると変数宣言することにすらイラッとするようになるよ
463デフォルトの名無しさん:2010/10/01(金) 18:32:49
>>462
変数宣言のないのはちょっとあれだなあ、タイプミスに気がつかないのが危険だ。
型は臨機応変だけれども、変数宣言は必須、というアプローチが最適だと思うのだけれども。
464デフォルトの名無しさん:2010/10/01(金) 18:36:52
簡単みたいに思えるけど、タイプミスなのか、わからないエラーに悩むんですよ。
コンパイラだと、変数名付きでエラー出してくれるから自分にとっては楽な方。
465デフォルトの名無しさん:2010/10/01(金) 18:42:16
動的言語もたいていは変数宣言しないで使うとグローバル変数になっちゃうから、けっきょくいつも宣言している気がする
Rubyはローカル変数になるけど、そんなに嬉しいわけでもない・・・ 結局明示しないとスコープが・・・
466デフォルトの名無しさん:2010/10/01(金) 18:50:55
結局は、
option explicit
にしちゃうんですよ。でもこれだと型は固定されるのではなかったかと。
型は自由自在、でも宣言は必須、という言語はないかなあ。情報求む。
467デフォルトの名無しさん:2010/10/01(金) 18:55:42
語りたがりウゼーぞ
468デフォルトの名無しさん:2010/10/01(金) 19:09:18
>>460
設計からやり直せよ。
つーか、C++でも汚ねえコード書いてそうだな。
469デフォルトの名無しさん:2010/10/01(金) 19:10:57
>>468
頭大丈夫?
470デフォルトの名無しさん:2010/10/01(金) 19:11:40
うん
471デフォルトの名無しさん:2010/10/01(金) 19:13:48
欲しいのはコレだけだろ。 for(int i=0; i<n; i++){}
472デフォルトの名無しさん:2010/10/01(金) 19:21:45
define使ってfor(1..n){}みたいに書ける?
473デフォルトの名無しさん:2010/10/01(金) 19:32:22
>>467
C しかしらないので、語るほどのものがない、ということですね。よくわかります。
474デフォルトの名無しさん:2010/10/01(金) 19:38:38
>>466はよく分かってない奴が背伸びして語ってるようにしか見えないから
475466 ◆QZaw55cn4c :2010/10/01(金) 19:53:20
>>474
宣言なしの言語とつきあわされたために、気が狂う寸前にまで陥ったことがないとは、幸せですね。
それはもう大変でした。最終的にはクロスリファレンスをとって、しらみつぶしに調べるしかなかった。

宣言なしの言語でやるなら、総量はせいぜい 10000 ステップが限界ですね。それ以上は勘弁してください。
476デフォルトの名無しさん:2010/10/01(金) 19:57:03
普通にPython使ってるけど
Pythonは変数宣言どころか、標準関数ですら同じ名前を使えばエラーになることなく上書きされるけどね
そういう思想で作られてるわけ。そんなことで気が狂うってw
477デフォルトの名無しさん:2010/10/01(金) 20:01:51
あ、組み込み関数のこと
478デフォルトの名無しさん:2010/10/01(金) 20:06:12
>>476
ダイナミックな型づけと、宣言必須かどうかは別にしたいところ。
他人のtypo をはじくことができないなんて、おそろしくて。いや、typo って無視できるほど少ないわけではないんですよ。

まあ、インタプリタならば、それなりの用途で、それくらいの要求の仕様となっているのでしょうね。
python って宣言必須にはできませんでしたっけ。
479デフォルトの名無しさん:2010/10/01(金) 20:10:36
。が何言ってるのか意味不明
480デフォルトの名無しさん:2010/10/01(金) 20:11:33
>>463
動的言語はIDEのサポートがヘボいからダメだ。
生産性低い。
481デフォルトの名無しさん:2010/10/01(金) 20:13:09
入力補完だけ出来ればいいや
482デフォルトの名無しさん:2010/10/01(金) 20:16:33
静的型で、テンプレートやらジェネリック+型推論のある言語がいい。
言語はそっちのほうこうで進化してほしい。
動的型は廃れたほうが世のためだ。
483デフォルトの名無しさん:2010/10/01(金) 20:18:02
>>480
その点は、宣言があれば解消できるか、と淡い期待をしているのですが、やっぱりだめでしょうか。
484デフォルトの名無しさん:2010/10/01(金) 20:22:52
スレチいい加減にしろよ動的言語を満足に使えない池沼
485デフォルトの名無しさん:2010/10/01(金) 20:25:42
C を動的に使えない池沼だろ
486デフォルトの名無しさん:2010/10/01(金) 20:25:55
コンパイラやらツールに任せられる作業を人間が必死にやって「動的言語を使いこなしてるぜ」って。
487466:2010/10/01(金) 20:26:30
>>484
自分の意見が支持されないからといって、すぐに発狂するのは、褒められたものじゃありませんね。
488デフォルトの名無しさん:2010/10/01(金) 20:27:57
>>487
スレチだという事実を否定出来る?
489デフォルトの名無しさん:2010/10/01(金) 20:28:54
ここがいくら中級者が偉そうに語るスレでも>>466みたいな自己中知ったかはいらん
490デフォルトの名無しさん:2010/10/01(金) 20:31:19
人にスレチスレチ言うやつって、自分は別格でスレチOKと思ってるよな。
491デフォルトの名無しさん:2010/10/01(金) 20:31:28
まあなんだ、C で新しい言語処理系を記述しようとしてたんだよ、多分。
492デフォルトの名無しさん:2010/10/01(金) 20:31:28
(俺が使いこなせないから)動的型は廃れたほうが世のためだ(キリッ
493デフォルトの名無しさん:2010/10/01(金) 20:34:07
将来性||次世代の言語を語る
http://hibari.2ch.net/test/read.cgi/tech/1284811709/

↑へどうぞ
494デフォルトの名無しさん:2010/10/01(金) 20:34:50
「動的言語ってIDEやコンパイラに任せられる作業を人手でやらないと
いけないから、結局生産性低いよね」って意見に反論できないで、
ひたすら「動的言語を使えないから反対してる」ってレッテルを
貼るしかできない動的言語信者。
495デフォルトの名無しさん:2010/10/01(金) 20:40:46
>>494
心配しなくても動的言語は一般的に使われてるよ。なんでそこでは静的言語が使われないのかな?
少しは考えなよ
496デフォルトの名無しさん:2010/10/01(金) 20:49:06
道具が悪い! 道具が悪い!

はいはいw
497デフォルトの名無しさん:2010/10/01(金) 20:53:02
twitterはrubyを捨ててScalaに移行らしいし、web方面も静的型に
移行していけばいいのに。

どっかのブログでクライアントが「JavaScriptでサーバー側がJavaってのは
おかしい、サーバーサイドもJavaScriptで書こう」とか言ってたけど、
間違ってるよな。
Googleみたいにクライアントもサーバー側もJavaで書くって方向に行くべき。

まあでも、VB6を使ってる連中がいまだにVB6を使いたがるみたいに、
いまPHPを使ってる層は、世の中がどういう流れでも永遠にPHPだろうな。

498デフォルトの名無しさん:2010/10/01(金) 20:56:38
していけばいいのに。
間違ってるよな。
方向に行くべき。
499デフォルトの名無しさん:2010/10/01(金) 21:00:54
>>462
変数宣言嫌いならfortranでも使ってろ。カス。
500デフォルトの名無しさん:2010/10/01(金) 21:01:39
Lisp使います^^
501デフォルトの名無しさん:2010/10/01(金) 21:07:42
アセンブラが頂点であり至高。
502デフォルトの名無しさん:2010/10/01(金) 21:10:24
このまえpythonの話題のときに動的言語は生産性が低いって
いったらやっぱり具体的な反論はなくて
「pythonが生産性が高いのは動的だからじゃない。pythonだからだ」って
反論なのな。
信者すぎる。

あとLL系はREPLだから習得が早いとか言ってるやつに、C#とかjavaとかも
初心が書くようなコードだとコンパイルは一瞬だし、べつにそれは優位性
ないだろって言ったら、具体的な反論はなくて「ゆとり」とか煽ってきたな。

LL系とか動的言語の信者って、優秀なそれ系の言語のユーザーの
言葉尻にのってるだけだから、基本、言葉が不自由だよな。
503デフォルトの名無しさん:2010/10/01(金) 21:15:43
全然中立じゃない明らかな静的言語信者が何を言ってもなあ
504デフォルトの名無しさん:2010/10/01(金) 21:19:00
要するに取るに足らないうっかりバグの修正にかかるコストとコンパイルコストどっちが受け入れやすいかってことだよな
神経尖らせて手作業でバグ探しするよりコーヒーでも飲みながらコンパイル待つほうが頭いいだろJK
505デフォルトの名無しさん:2010/10/01(金) 21:21:16
まぁ実際にコーヒー入れてコンパイル待つと相当イライラするけどな
会社のPCに自費でSSDいれちゃったよ。あまりコンパイル速度は早くならなかったけど。
506デフォルトの名無しさん:2010/10/01(金) 21:23:55
コンパイル通ったってバグはありえるし、どちらにしろそっちの方が恐いだろ
コンパイル通らないようなミスなら動的言語でも初めの実行時に上手く動かないと思うよ
507デフォルトの名無しさん:2010/10/01(金) 21:27:30
その怖い方のバグはどっちも起こりうるならイーブンで比較材料にならない
その前の段階のバグをメッセージ付きで知らせてくれるか、自分で探さなければならないのか
どっちが良いかはすぐに分かるだろう
508デフォルトの名無しさん:2010/10/01(金) 21:31:19
>>506
いや、カバレッジ100%にしないと単純なスペルミスも発見できないでしょ > 動的
509デフォルトの名無しさん:2010/10/01(金) 21:33:18
動的言語にもIDEがあることを知らんのかな。スペルミスが恐いなら補完機能使えば良いし
510デフォルトの名無しさん:2010/10/01(金) 21:33:23
カバレッジ100%でも、一目で分かるようなわかりやすいバグが
発現しなかったら見逃す可能性あるな。
511デフォルトの名無しさん:2010/10/01(金) 21:34:25
>>509
コード補完とかリファクタリングの強力さがぜんぜん。
512デフォルトの名無しさん:2010/10/01(金) 21:35:39
Cでダラダラ書きつらねてビルドしてようやく動かせると思ったら
間違いに気づいて気になるとこ直してたら結局全部変わってた、
とかより
pythonでちょっとずつ動かしながらサラっと書けちゃった方が楽。
pythonが生産性が高いのはpythonだからだ!!!
513デフォルトの名無しさん:2010/10/01(金) 21:35:39
そんなにスペルミスするなら何回コーヒー飲みながら待たなきゃいけないんだろう
514デフォルトの名無しさん:2010/10/01(金) 21:37:19
仕事さぼれるなら1日じゅうコーヒー飲んでてもいいわ俺
515デフォルトの名無しさん:2010/10/01(金) 21:48:00
コーヒー飲みすぎるとハゲるぞ
516デフォルトの名無しさん:2010/10/01(金) 21:48:22
マジで?
517デフォルトの名無しさん:2010/10/01(金) 21:53:14
コーヒーより緑茶だろう
生産性が15%は向上するわ
518デフォルトの名無しさん:2010/10/01(金) 21:55:13
コーヒー、ポリフェノール多いって話があるな。
519デフォルトの名無しさん:2010/10/01(金) 22:16:16
多いっちゃ多いけど、植物由来のものはどれも多かれ少なかれポリフェノールは含まれている。
騙されている人も多いけどお茶のタンニンだってポリフェノールの一種だから、珈琲よりは多く摂ることができるよ。
520デフォルトの名無しさん:2010/10/01(金) 22:18:40
お茶だと糖分が取れない
521デフォルトの名無しさん:2010/10/01(金) 22:20:43
コーヒーに砂糖入れねー
522デフォルトの名無しさん:2010/10/01(金) 22:22:17
男ならブラックだろって知り合いで一番カコイイ人が言ってた
523521:2010/10/01(金) 22:24:17
ミルクは入れるよ
524デフォルトの名無しさん:2010/10/01(金) 22:35:57
コーヒーは発癌性があるんじゃなかったっけ。俺は紅茶派だな
525デフォルトの名無しさん:2010/10/01(金) 22:44:47
緑茶を語るスレ
http://toki.2ch.net/test/read.cgi/pot/1096115963/

コーヒー中毒の奴集まれ
http://toki.2ch.net/test/read.cgi/pot/1077551991/

↑へどうぞ
526デフォルトの名無しさん:2010/10/01(金) 22:47:45
>>517,524
緑茶や紅茶だとすぐにできるからコンパイル終わる前に飲み干しちゃうよ
527デフォルトの名無しさん:2010/10/01(金) 22:50:53
豆から!?IT土方なんて皆インスタントじゃないの
528デフォルトの名無しさん:2010/10/01(金) 23:09:19
通常は生茶の2リッター
いったん思考を中断して落ち着く必要がありそうなときコーヒーだね、ミルで挽いて
529デフォルトの名無しさん:2010/10/01(金) 23:18:53
俺はそんな時ペプシNEX
もしくはベッドに横になる
530デフォルトの名無しさん:2010/10/01(金) 23:22:23
水に決まってんだろ。
ゲロルシュタイナーが最強。
531デフォルトの名無しさん:2010/10/01(金) 23:25:22
コーヒーはにがくて飲めない
砂糖3杯くらい入れないと無理
532デフォルトの名無しさん:2010/10/01(金) 23:30:09
>>528
さすがにミルは無いわ。ゴリゴリ五月蝿いだろ
533デフォルトの名無しさん:2010/10/01(金) 23:38:37
>>532
いま電動
手回し使ってたこともあるけどさすがにしんどくてやめた
あーゆープチメカは基本的に好きなので捨ててはいない
534デフォルトの名無しさん:2010/10/01(金) 23:57:25
コーヒーメーカーも自作だろ
535デフォルトの名無しさん:2010/10/02(土) 00:01:03
>>513 死ね
>>514 死ね
>>515 死ね
>>516 死ね
>>517 死ね
>>518 死ね
>>519 死ね
>>520 死ね
>>521 死ね
>>522 死ね
>>523 死ね
>>524 死ね
>>526 死ね
>>527 死ね
>>528 死ね
>>529 死ね
>>530 死ね
>>531 死ね
>>532 死ね
>>533 死ね
>>534 死ね
536デフォルトの名無しさん:2010/10/02(土) 00:07:50
>>535
まるで>>512の俺が書いたみたいじゃないか!やめてくれよ
俺もコーヒー飲むぞ!インスタントでブラックだぞ!コーヒーメーカーは自作じゃないぞ!
537デフォルトの名無しさん:2010/10/02(土) 00:08:25
>>535 死ね
538536:2010/10/02(土) 00:11:26
>>537 許す
539デフォルトの名無しさん:2010/10/02(土) 00:13:26
生きる意味 part2
http://toki.2ch.net/test/read.cgi/jinsei/1247800838/

↑へどうぞ
540デフォルトの名無しさん:2010/10/02(土) 00:13:58
>python とかいう書式を強要する言語があることは知っているが、最強とか主張する信者がいるらしいのでなるべく関わらないようにしている。
http://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3AScheme%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AE%E3%83%AC%E3%83%99%E3%83%AB10
541デフォルトの名無しさん:2010/10/02(土) 00:23:52
pythonさいきょー!ってかschemeじゃねーか
ほんと括弧多いよな
542デフォルトの名無しさん:2010/10/02(土) 01:14:39
Schemeに惹かれるものを感じ幾度となく手を出しつつもどうしても関数的思考ができなくて挫折してるよ...
CとかJavaとかの手続き型言語に馴染みすぎた
543デフォルトの名無しさん:2010/10/02(土) 02:40:21
生産性生産性言うやつほど何も作らない法則
544デフォルトの名無しさん:2010/10/02(土) 02:57:23
金にならないから
元々、金になることが出来ないから
545デフォルトの名無しさん:2010/10/02(土) 10:17:17
__m128i *pa = (__m128i*)a; __m128i *pb = (__m128i*)b; __m128i *pc = (__m128i*)c;
__m128i *pd1= (__m128i*)d1;__m128i *pd2= (__m128i*)d2;__m128i *pbuf=(__m128i*)buf;
__m128i *pa = (__m128i*)a; __m128i *pb = (__m128i*)b; __m128i *pc = (__m128i*)c;
__m128i *pd1= (__m128i*)d1;__m128i *pd2= (__m128i*)d2;__m128i *pbuf=(__m128i*)buf;
__m128i va, vb, vc, vd1, vd2;
va = _mm_loadu_si128(pa); vb = _mm_loadu_si128(pb); vc = _mm_loadu_si128(pc);
vd1 = _mm_loadu_si128(pd1); vd2 = _mm_loadu_si128(pd2);
_mm_storeu_si128(pa, _mm_xor_si128(va, _mm_adds_epu8(vd1, vc)));
_mm_storeu_si128(pb, _mm_xor_si128(vb, _mm_adds_epu8(vd2, vc)));
_mm_storeu_si128(pbuf++, _mm_xor_si128(_mm_loadu_si128(pbuf), vd1));
_mm_storeu_si128(pbuf, _mm_xor_si128(_mm_loadu_si128(pbuf), vd2));

動くのですが、pbufの中身が

memcpy(&buff[32*k],buf,32);

にコピーされません。
546デフォルトの名無しさん:2010/10/02(土) 10:33:24
>>542
私も挫折している口ですが(SICP難しい)、挫折するたびに、挫折しながら、それでも前よりもちょこっとは進歩している、と信じています。
547デフォルトの名無しさん:2010/10/02(土) 14:18:00
pbufがコピー元になっとらんのでは?
548デフォルトの名無しさん:2010/10/02(土) 14:23:56
pbuf=buf
pbuf++   <ーーこれは何してるの?
549Perl忍者 ◆M5ZWRnXOj6 :2010/10/02(土) 14:26:57
なんか






















ここばかしかいない
550デフォルトの名無しさん:2010/10/02(土) 14:31:47
馬鹿な方がいい時もあるんだよ
551デフォルトの名無しさん:2010/10/02(土) 14:37:58
_mm_storeu_si128(pbuf++, _mm_xor_si128(_mm_loadu_si128(pbuf), vd1));
_mm_storeu_si128(pbuf, _mm_xor_si128(_mm_loadu_si128(pbuf), vd2));

pbuf--;
buf[0]=*pbuf->m128i_i8;
pbuf++;
buf[16]=*pbuf->m128i_i8;

書いてもらったプログラムなのでよくわかりませんが、128ビットの
共用体を2つ分使っているのではないかと思います。
ところで上のプログラムをclでコンパイルすると通るのに、GCCだと
共用体のメンバじゃないといわれてエラーが出ます。pbufからbufに
値を代入する正しい方法を教えてください。もしくはmemcpyでpbuf
からbuffに代入する方法があったら教えてください。よろしくお願いします。
552デフォルトの名無しさん:2010/10/02(土) 14:40:10
入門スレでそんな難しいこと訊いたって答えられる奴はいないぞ
SSEスレとかで訊いた方がいいぞ
553デフォルトの名無しさん:2010/10/02(土) 14:41:13
書いてもらった人に聞くのが速そうだけど、
ここはSSE2とかわかってる人は見てないでしょ
554デフォルトの名無しさん:2010/10/02(土) 14:42:40
というかそこまでするんならいっそのことアセンブラで書いた方がいいんじゃね・・・
もうC言語じゃねーよそれ
555デフォルトの名無しさん:2010/10/02(土) 14:46:51
aとかbufとかunsigned charで宣言してgccでコンパイルしたけど
別に怒られんかったな
556デフォルトの名無しさん:2010/10/02(土) 14:59:13
sse用の関数は無視して
pbuffを書き換えてるところで
buffの内容をダンプしてみればどこで間違ってるかはわかりそうだけど
memcpyより前のところが間違ってるんだよ
557デフォルトの名無しさん:2010/10/02(土) 15:07:00
俺アセンブラなら分かるけど、何とかIntrinsicだっけ?その書き方知らね
558デフォルトの名無しさん:2010/10/02(土) 15:09:05
計算前に
memcpy(buf,&buff[32*k],32);
をやってないから、答えが違うとか騒いでるだけだったりして
559デフォルトの名無しさん:2010/10/02(土) 15:26:11
// pbuf--;
// for(i=0;i<16;i++)
// printf("%u ",pbuf->m128i_u8[i]);
buf[0]=*pbuf->m128i_u8;
pbuf++;
// for(i=0;i<16;i++)
// printf("%u ",pbuf->m128i_u8[i]);
// printf("\n");
buf[16]=*pbuf->m128i_u8;
// for(i=0;i<32;i++)
// printf("%u ",buf[i]);
// printf("\n");

今こうやってpbufの中身をbufにコピーして確認してます。
bufとpbufの内容はあっているようです。
560デフォルトの名無しさん:2010/10/02(土) 15:32:17
部分的にはられてもね、わからんでしょ。天才探したほうがいいよ
561デフォルトの名無しさん:2010/10/02(土) 15:36:58
貼った流れもすでにわかってないような書き方だし
562デフォルトの名無しさん:2010/10/02(土) 15:37:47
つーかマルチポストだぞ?しかも大量に。
563デフォルトの名無しさん:2010/10/02(土) 15:41:07
いつものことでしょ、暗号くんは
564デフォルトの名無しさん:2010/10/02(土) 15:43:29
そろそろコテつけてくれないかな暗号君
565デフォルトの名無しさん:2010/10/02(土) 15:51:08
__m128iって共用体ですよね。そのはずなのに、GCCではメンバじゃない
とエラーになるのが不思議です。pbufのメンバにどうすればアクセス
できるでしょう。
566デフォルトの名無しさん:2010/10/02(土) 15:53:29
最低限の書き方でエラーが出るソースとそのエラーメッセージを貼れ
567デフォルトの名無しさん:2010/10/02(土) 15:54:27
人の話に耳を傾けない者を相手にするバカはいない
568デフォルトの名無しさん:2010/10/02(土) 16:01:59
664 buf[0]=*pbuf->m128i_u8;
pbuf++;

669 buf[16]=*pbuf->m128i_u8;
pbuf--;

error grs.c: In function main
grs.c:664: error: request for member 128i_u8 in something not a structure or union
grs.c:669: error: request for member 128i_u8 in something not a structure or union
569デフォルトの名無しさん:2010/10/02(土) 16:11:10
m128i_u8は定義されてないと言われとるんじゃないのか?
570デフォルトの名無しさん:2010/10/02(土) 16:12:51
>>568他=暗号君=バカ
素晴らしい!
571デフォルトの名無しさん:2010/10/02(土) 16:14:08
暗号君の相手をする人は暗号君だからな
572デフォルトの名無しさん:2010/10/02(土) 16:18:27
VisualStudioのclではきちんと通ります。ヘッダーファイルの違いですかね。
573デフォルトの名無しさん:2010/10/02(土) 16:20:16
m128i_u8でファイル内検索してみれば
574デフォルトの名無しさん:2010/10/02(土) 16:30:14
CygwinとWINでは同じ名前でも構造が全然違う・・・
ヘッダー見たらわかった。
575デフォルトの名無しさん:2010/10/02(土) 16:39:11
typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
これはどういう意味ですか?
576デフォルトの名無しさん:2010/10/02(土) 17:05:56
577デフォルトの名無しさん:2010/10/02(土) 17:10:58
考え方としてはWINの方が好き。でも性能はGCCの方が上。
578デフォルトの名無しさん:2010/10/02(土) 17:15:36
WINとGCCって分類おかしいだろ。
579デフォルトの名無しさん:2010/10/02(土) 17:17:06
おまえWINコンパイラ知らないのかよ
580デフォルトの名無しさん:2010/10/02(土) 17:34:29
VBのことか?
581デフォルトの名無しさん:2010/10/02(土) 17:37:27
VisualStudioです
582デフォルトの名無しさん:2010/10/02(土) 20:12:11
>>579
ボーランドという会社のとか Watcom とか、インテルとか、Windows をターゲットにしたCコンパイラにもいろいろあると思うのですが
583デフォルトの名無しさん:2010/10/02(土) 21:09:51
584デフォルトの名無しさん:2010/10/02(土) 21:14:33
auのSDKに付いてくる
585デフォルトの名無しさん:2010/10/02(土) 23:06:40
main関数の引数でよく見かける表記
char *argv[]
の意味するところは、
char型のデータを格納する配列変数argvが
格納されているメモリの先頭アドレス
で合っているでしょうか?
586デフォルトの名無しさん:2010/10/02(土) 23:10:04
char型へのポインタ(=文字列)の配列

並列へのポインタではない。
587デフォルトの名無しさん:2010/10/02(土) 23:11:35
×並列
○配列
588デフォルトの名無しさん:2010/10/02(土) 23:13:06
VC2008EEです
デスクトップのフォルダの中にプロジェクトがあって作ってたのですが
フォルダの名前を変えたら、プロジェクトを開いてデバッグしようとすると、EXEのデバッグ情報が見つからないか、または一致しません、デバッグを続けますか?
と出ます。はいにすると普通に表示はされるのですがどうしたらただフォルダの名前を変えただけのような状態にできるのでしょうか?
589デフォルトの名無しさん:2010/10/02(土) 23:15:25
リビルドしてみては
590デフォルトの名無しさん:2010/10/02(土) 23:18:23
>>589
ありがとうございました!
591デフォルトの名無しさん:2010/10/03(日) 00:01:39
もしかして文頭に#をつけるとコメントアウトになりますか?
592デフォルトの名無しさん:2010/10/03(日) 00:03:13
文頭ではなく行頭な。
コメントというか、プリプロセサーが意味のない命令として削除するよ。
593デフォルトの名無しさん:2010/10/03(日) 00:03:16
エラー?
594デフォルトの名無しさん:2010/10/03(日) 00:04:07
ふっ、今の俺は無敵だぜ?C言語でお前らを攻撃することも可能だぜ?
595デフォルトの名無しさん:2010/10/03(日) 00:18:34
>>592
ググってみたら#の後には特定の単語以外がくるとコメントアウトみたいになるんですね
ありがとうございました
596デフォルトの名無しさん:2010/10/03(日) 08:09:57
GCC諦めてWIN用アセンブリの組み込み関数を使って計算したアプリにする
事にしました。ベータバージョンですが気になる方は試してみて下さい。
http://sky.geocities.jp/tcshacina/grs.exe.gz
例外処理とか何もしてません。使い方はgrs infile outfile passwdです。
597デフォルトの名無しさん:2010/10/03(日) 08:48:02
またお前か
598デフォルトの名無しさん:2010/10/03(日) 09:04:49
どこの馬の骨かわからん奴が作ったexeを実行するバカはここにはいないよ。
vipにならいるかも知れないけど。
599デフォルトの名無しさん:2010/10/03(日) 09:10:13
そうですよね・・・ウイルスかもしれないし。
JavaScriptで書き直してWEBにでも公開しようかな。
600デフォルトの名無しさん:2010/10/03(日) 09:22:03
スピード気にしてSSE使う一方でjavascriptかよ。w
601デフォルトの名無しさん:2010/10/03(日) 09:34:23
どうしたら使ってもらえますかね?
602デフォルトの名無しさん:2010/10/03(日) 09:36:48
ソースで公開
603デフォルトの名無しさん:2010/10/03(日) 09:40:06
くぴっ
604デフォルトの名無しさん:2010/10/03(日) 09:45:17
まずはアルゴリズムの優秀さをアピールすべきだな。優秀なアルゴリズムなら実装なんて後から付いてくる。
605デフォルトの名無しさん:2010/10/03(日) 09:49:45
汚いけどいいの?
606デフォルトの名無しさん:2010/10/03(日) 09:53:53
シンドローム復号問題という原理に基づいているのですが、実装で
きちんと実現できているかどうかが心配です。ソースを見てもらって
何かアドバイスが受けられたらと思います。自分では優秀かどうか
わかりません。
607デフォルトの名無しさん:2010/10/03(日) 09:57:48
気持ち悪
608デフォルトの名無しさん:2010/10/03(日) 10:06:46
609デフォルトの名無しさん:2010/10/03(日) 12:08:24
ふっふっ
ほっほっ
610デフォルトの名無しさん:2010/10/03(日) 12:31:24
あたしの体をすきにしてぇ〜!!

http://sky.geocities.jp/tcshacina/grs.c
611デフォルトの名無しさん:2010/10/03(日) 13:37:25
variably modified ‘変数名’ at file scope
っていうコンパイルエラーなんですけど
この意味教えてもらえませんか?
612デフォルトの名無しさん:2010/10/03(日) 13:44:48
配列宣言に変数は使えない。
613デフォルトの名無しさん:2010/10/03(日) 13:50:20
ファイルスコープでは配列宣言に変数は使えない。
614デフォルトの名無しさん:2010/10/03(日) 13:56:20
配列の要素数宣言に定数ではなく変数を使ってない?
615デフォルトの名無しさん:2010/10/03(日) 14:42:57
二次元配列の配列のサイズについて教えて
main 関数で二次元配列array の大きさを求めると正しいのですが
ArraySize という関数を作成して求めると間違っています、どうしたらイイデツカ

#include <stdio.h>

void ArraySize(char array[4][9]);

int main(void)
{
int i; size_t nSize;
char array[4][9] = {"TOKYO", "OOSAKA", "NAGOYA", "YOKOHAMA"};
for(i = 0; i<4; i++)
printf("%s\n", &array[i]);

nSize = sizeof(array) / sizeof(char);
printf("二次元配列 nSize のさいずは %d です。\n ", nSize);
ArraySize(array);

return 0;
}

void ArraySize(char array[4][9])
{
size_t nSize;
nSize = sizeof(array) / sizeof(char);
printf("二次元配列 nSize のさいずは %d です。(void ArraySize)\n ", nSize);
}
616デフォルトの名無しさん:2010/10/03(日) 15:02:23
>>615
引数に配列渡してもポインタになるから、sizeofじゃサイズはわからない。
617デフォルトの名無しさん:2010/10/03(日) 15:08:06
ふっふっ
ほっほっ
618デフォルトの名無しさん:2010/10/03(日) 15:23:14
>>615
実際の定義は
void ArraySize(char array[][9])
だからな
配列の中身がコピーされてるわけじゃなくて
arrayの先頭アドレスと9Byte区切りであることしか関数には伝わってない
32bit環境ならポインタ型は4Byteだから4になるんじゃ?
619デフォルトの名無しさん:2010/10/03(日) 15:26:34
そして64bitでコンパイルしたオレは8になった
620デフォルトの名無しさん:2010/10/03(日) 15:32:16
>>615
どうしたらいいかっていうのに答えると
マクロでなんとかする
C++なら関数テンプレートで一応できる

あたりかな
621デフォルトの名無しさん:2010/10/03(日) 15:35:38
いいえ、typedefを適用します。
622デフォルトの名無しさん:2010/10/03(日) 15:36:34
ふっふっ
623デフォルトの名無しさん:2010/10/03(日) 15:59:57
int i;
int vc[5] = {10,20,30,40,50};
int *ptr = &vc[0];

と宣言したときエイリアスは
*ptr=ptr[0]
*(ptr+1)=ptr[1]



ってなるけど
右辺は*つけなくていいんですか?
*ptr[0]
みたいに。
624デフォルトの名無しさん:2010/10/03(日) 16:03:12
つけなくておk
625610:2010/10/03(日) 16:07:49
C言語のスレなのにちっともレビューが付かない!
626デフォルトの名無しさん:2010/10/03(日) 16:11:08
>>625
インデントがキモい
コメントアウトぐらい消せ
627デフォルトの名無しさん:2010/10/03(日) 16:22:50
よく分からないが踏みたくないので放置
628デフォルトの名無しさん:2010/10/03(日) 16:24:48
PCが物故割れた
629610:2010/10/03(日) 16:26:17
暗号としてはどうよ
630デフォルトの名無しさん:2010/10/03(日) 16:32:28
gccでコンパイル出来ないのがあれだ
力技でコンパイルしてみたが、
中身までよく見ようとは思わないソースなんだよね、無駄が多くて
631デフォルトの名無しさん:2010/10/03(日) 16:36:10
暗号としてどうよって、アルゴリズムのオリジナルなの?
632デフォルトの名無しさん:2010/10/03(日) 16:39:45
doubleを単位でまとめてintで表す式ってどういう形になるんですかね?
たとえば2.6を5に12.4を10とかで表す感じです
633610:2010/10/03(日) 16:42:10
コンパイルオプションはVisualStudioで
cl /O2 /arch:SSE2 grs.c
で通ります。アルゴリズムはオリジナルです。
まだ無駄だらけです。デバッグの表示もあるし。
634デフォルトの名無しさん:2010/10/03(日) 16:45:08
しょせん厨二の考えた暗号なんて(ry
635610:2010/10/03(日) 16:47:14
>>626
今のセリフ凄く萌える・・・っ
636デフォルトの名無しさん:2010/10/03(日) 16:51:48
GCC用のもあるけどCygwinのだからね。
gcc -O2 -ftree-vectorize -msse2 -o grs2 grs2.c
うpしてないけど。
637デフォルトの名無しさん:2010/10/03(日) 16:59:27
638デフォルトの名無しさん:2010/10/03(日) 17:10:54
これは皆がもっと良くしようという目的を持つことを目的に公開されました。
2ch暗号と呼ぼう!(嘘)
639デフォルトの名無しさん:2010/10/03(日) 17:39:25
password指定がないじゃん
640Perl忍者 ◆M5ZWRnXOj6 :2010/10/03(日) 18:04:01
暗号とかわめいてるごみはしねば

ハッカーじゃないやつがいきがるな
641デフォルトの名無しさん:2010/10/03(日) 18:32:39
grsのパスワードは第3引数で指定します。アプリケーションの段階でなく
アルゴリズム検証の段階です。使い方は
grs infile outfile passwd
です。grs2はパスワードに未対応です。
642デフォルトの名無しさん:2010/10/03(日) 18:56:54
ここは質問や相談スレであって
スレチなんだが
643デフォルトの名無しさん:2010/10/03(日) 19:00:14
暗号化なんて乱数とxorでいいんじゃないか?
644デフォルトの名無しさん:2010/10/03(日) 19:01:28
暗号君まだいたのか
645デフォルトの名無しさん:2010/10/03(日) 19:05:37
暗号スレに行きます
646デフォルトの名無しさん:2010/10/03(日) 20:23:27
C言語で実装したからレビューしてもらいたかっただけです。
647デフォルトの名無しさん:2010/10/03(日) 20:26:13
それこそ暗号スレでやれ
648デフォルトの名無しさん:2010/10/03(日) 20:29:28
C言語としてのコードレビューだな

ごみ
649デフォルトの名無しさん:2010/10/03(日) 20:42:59
cygwinインストールできなくてもう3週間たつけど
アドバイスください・・・
PCにウイルスも入ったぽくてもう人生詰んだ
650デフォルトの名無しさん:2010/10/03(日) 20:44:54
MinGWにしとけ。
Cygwin なんてもはや時代遅れだ。
651デフォルトの名無しさん:2010/10/03(日) 20:46:20
フォーマットして再インストールすれば。
ここが感染源かも
652デフォルトの名無しさん:2010/10/03(日) 20:46:56
シーゲンゴミ。
653デフォルトの名無しさん:2010/10/03(日) 20:53:09
>>649
インスコしなおすまえに、完全にアンインスコしてるか?
レジストリに何か残っていてそれが邪魔してることもあるぞ
(Vista の互換モードにハメられたことがある)

それから腐ってもム板の住人なら通称なり挙動なりで
そうと確認できるまでは、早まってウイルスだのと言いたければ
ここでやれ

http://hibari.2ch.net/test/read.cgi/tech/1179424842/
654デフォルトの名無しさん:2010/10/03(日) 20:54:39
ダウンロードした一時ファイルが一瞬に消えるとか
パッケージのインストールに失敗したとか
シェルが起動しないとか
655デフォルトの名無しさん:2010/10/03(日) 20:59:14
>>653
もう鬱になりそう、cygwinのダウンロードだけで徹夜×3週間。

homeディレクトリ開いたらユーザー\ディレクトリできてなかった。
もう死にたい。
656デフォルトの名無しさん:2010/10/03(日) 21:00:07
Linuxにしとけ。インストールが厳しいならVMware+Ubuntuが楽なんじゃないか
657デフォルトの名無しさん:2010/10/03(日) 21:00:31
>>654
パッケージって何ですか?
環境変数って何ですか?
シェルって何ですか?
レジストリって何ですか?
インスコって何ですか?

調べたら調べたらでまた調べないといけないんだろうな
658デフォルトの名無しさん:2010/10/03(日) 21:00:59
Cygwinだとかウイルスだとかすれ違いだから消えろ
659デフォルトの名無しさん:2010/10/03(日) 21:01:49
>>658
すんませんでした、もう何もかも上手くいかないんで大学止めます。
限界です。
660デフォルトの名無しさん:2010/10/03(日) 21:01:59
>>657
お前にプログラミングなんて無理
661デフォルトの名無しさん:2010/10/03(日) 21:03:36
>>660
んなことわかってる、今までありがとう、脳に障害があるんだと思うわ。
病院行ってくる。
662デフォルトの名無しさん:2010/10/03(日) 21:05:02
流石にネタだろ、
ネタじゃないならコンパイラを手動インスコする所から始める入門書やっとくべき
663デフォルトの名無しさん:2010/10/03(日) 21:07:51
>>662
ネタじゃない、発達障害なんだよ、ごめんな。
暗記だけは得意だからガリガリ勉強して大学受験は何とかクリアできて
国立現役だよ。
癇癪起こしてマウス3台破壊したし・・

cygwinダウンロード1時間で1%だってよ・・
you tubeの動画も全く見れなくなったし・・
664デフォルトの名無しさん:2010/10/03(日) 21:10:39
悪い、こうやって自分語りするのも発達障害だと医者から言われた。
しばらくROMりますね。
665デフォルトの名無しさん:2010/10/03(日) 21:11:38
ファイアーウォールソフト入れておくべきだったね
666デフォルトの名無しさん:2010/10/03(日) 21:11:48
Cygwin使わせるとか鬼畜。
Cやるなら、今はWindowsにVisualStudio一択っしょ?
大学は金あるんだから、交渉してサクッと買ってもらえよ。
667デフォルトの名無しさん:2010/10/03(日) 21:12:24
ttp://sourceforge.net/projects/mingw/files_beta/
ここの
Looking for the latest version? Download mingw-get-inst-20100909.exe (582.1 KB)
をダウンロードしてインスコしなさい、CygwinはなんちゃってLinux環境だから
Cygwinで書いたコードがLinuxでコンパイル通らないなんて事にも普通になる、
Cygwinにこだわる必要ないよ。
668デフォルトの名無しさん:2010/10/03(日) 21:12:38
ちょっと見ない間に、暗号君が知的障害者にグレードアップしとる…
669デフォルトの名無しさん:2010/10/03(日) 21:18:35
でもお前この話するとココキュウってなるぜ


C言語として  ごみ


暗号としては?
670デフォルトの名無しさん:2010/10/03(日) 21:19:42
大学の教授は大抵何年か過去からタイムリープしてきてるからひどい環境とかコンパイラとか平気で指定してくるよ
671デフォルトの名無しさん:2010/10/03(日) 21:19:47
>>668
暗号君って何ですか?
知識と趣向だけで繕って何とか生きていけるのが発達障害者です。
知的障害者になれれば誰かに面倒見てもらえるのに。

>>667
Unix環境を想定したプログラミングの練習何で別に処理系は細かい
事はいいそうです。


今cygwinが2%dwonloadです、2時間ですね。
672デフォルトの名無しさん:2010/10/03(日) 21:21:31
暗号君は我が強すぎて正直キモい
673デフォルトの名無しさん:2010/10/03(日) 21:23:45
Linuxなら初めから全部環境入ってるのに
674デフォルトの名無しさん:2010/10/03(日) 21:23:58
自分を自慢し褒めてもらいたがってる、たいした男じゃないわ。
675デフォルトの名無しさん:2010/10/03(日) 21:24:32
>>666
大学のPCはダブルブートしてて、プログラミングの授業はlinux環境でgccだよ
676デフォルトの名無しさん:2010/10/03(日) 21:25:14
ごめんデュアルブートのことをダブルブートって言っちゃった
677デフォルトの名無しさん:2010/10/03(日) 21:26:09
>>673
環境とかどうやら細かい事は知らんが、そういうレベルに達していない。
単純なプログラムの練習すらできない状態なんです。

>>672
慰めて
678デフォルトの名無しさん:2010/10/03(日) 21:27:44
>>667
英語か・・
挫折しますた

やっぱcygwinで頑張ってみます。ダウンロードしなくても
プログラミングの練習ができる簡易ツールみたいなもんない
ですよねぇ?
679デフォルトの名無しさん:2010/10/03(日) 21:29:18
680デフォルトの名無しさん:2010/10/03(日) 21:30:47
結局のところイデオンとターンAってどっちが強いんだろう
681デフォルトの名無しさん:2010/10/03(日) 21:31:46
ターンA
682デフォルトの名無しさん:2010/10/03(日) 21:32:33
>>679
scanfできないです・・・
683デフォルトの名無しさん:2010/10/03(日) 21:35:38
ボーランドのコンパイラと「C言語を始めよう」ってIDE使え
684デフォルトの名無しさん:2010/10/03(日) 21:36:43
マニュアルがあるcygwinで頑張ってみます。4日ダウンロードしっぱなしだと
やっぱPCによくないですか?
685デフォルトの名無しさん:2010/10/03(日) 21:38:36
Linuxにしとけ。cygwinを使うと悪い方向に向かうと出ている
686デフォルトの名無しさん:2010/10/03(日) 21:39:02
まえは雑誌の付録にCDから起動するlinuxとかあったけど、
最近はそういうのないのかね。
687デフォルトの名無しさん:2010/10/03(日) 21:42:06
688デフォルトの名無しさん:2010/10/03(日) 21:42:31
Linuxダウンロードして何を使ってソースの実行したらいいんですか?
よくわかりません。
689デフォルトの名無しさん:2010/10/03(日) 21:43:39
>>687
ありがとうございます、cygwinで頑張ってみようと思います。
そろそろスルーしていいですよ、他質問者さんどうぞ。
690デフォルトの名無しさん:2010/10/03(日) 21:50:25
またきたらすいません><
では寝ます。
691デフォルトの名無しさん:2010/10/03(日) 21:51:11
そのまま目覚まさなければいいのに
692デフォルトの名無しさん:2010/10/03(日) 21:55:54
今試したけど俺はDefault設定のまま20分でインスコ完了したんだけど、
なんでそんなに遅いんだ?、ADSL1.5Mでもそんなに遅くならないだろ。
693デフォルトの名無しさん:2010/10/03(日) 22:10:54
>>640
>?つまらないおおげさな ID やハンドルを使わない。
http://cruel.org/freeware/hacker.html

>?そしてそう名乗っているヤツを相手にして時間を無駄にしてもいけません。
しまった。
694デフォルトの名無しさん:2010/10/03(日) 23:11:20
Cにあんまり関係ないんですけど
ttp://www.poverty.jeez.jp/loda/img/iyan04469.jpg

なんで?
695694:2010/10/03(日) 23:12:50
分かりにくいので…

Visual Studioで関数を使うときに引数って上半分の感じででるじゃないですか
でもなぜかfloat zの部分が出ないんですよ…
なぜですかね
696デフォルトの名無しさん:2010/10/03(日) 23:21:42
見てるクラスが違う
697694:2010/10/03(日) 23:37:22
なんか知らないけど次は出た
???

ワケ分からん
698デフォルトの名無しさん:2010/10/03(日) 23:52:25
しめやでも、てんじんだ。
699デフォルトの名無しさん:2010/10/03(日) 23:54:09
>>698
けるめんけっwww
700デフォルトの名無しさん:2010/10/04(月) 00:01:54
>>697
VSのインテリセンスが壊れるなんて良くあること
どうしても更新されなかったら.ncbファイルを一度消せばいいよ
701デフォルトの名無しさん:2010/10/04(月) 00:06:04
おはよう
>>692
all install にしたよ。
まだ0%だ

install from internet以外だと
installできないし、no packages foundってなるから。
何でかわからん。

cygwin以外じゃ絶対だめなんで^^
702デフォルトの名無しさん:2010/10/04(月) 00:08:46
2時間睡眠とかありえんから
703デフォルトの名無しさん:2010/10/04(月) 00:10:14
さすがにもう話題がC言語のスレじゃないんで・・・
暗号君が消えてくれないなら
俺のほうが去ることにする。じゃぁな。
704デフォルトの名無しさん:2010/10/04(月) 00:16:58
二度と返ってくるなよ
705デフォルトの名無しさん:2010/10/04(月) 00:30:22
× 返る
○ 帰る
706デフォルトの名無しさん:2010/10/04(月) 01:39:34
Cスレ的にはreturnは返るでいいんじゃね?w
707デフォルトの名無しさん:2010/10/04(月) 01:41:00
二度と返ってこないのも嫌だな
708デフォルトの名無しさん:2010/10/04(月) 01:51:11
×Never return.
○Never come back.
709デフォルトの名無しさん:2010/10/04(月) 01:52:18
returnじゃなくてexitしたんだろ
710デフォルトの名無しさん:2010/10/04(月) 01:52:25
yieldじゃね?
711デフォルトの名無しさん:2010/10/04(月) 02:30:15
farawayじゃないかな
712デフォルトの名無しさん:2010/10/04(月) 02:37:10
エブリアワーおはよう

寝て起きたら10%しかdownloadしてませんでした・・
gcc やa.exeのkbがでか過ぎます。
PCをリカバリーに出すんで、しばらくここには来ません
ありがとうございました。
713デフォルトの名無しさん:2010/10/04(月) 02:51:06
ウイルスは本当に怖いね、ファイル検出しただけじゃ分からんときがある
714デフォルトの名無しさん:2010/10/04(月) 03:26:24
ナローバンドと化石PCじゃ、2chの回答者との話が噛み合わない
715デフォルトの名無しさん:2010/10/04(月) 10:13:07
ふぉふぉ
716デフォルトの名無しさん:2010/10/04(月) 16:59:08
#include <stdio.h>

int main<void>
{
int suuti = 10;
if (suuti) printf("%d\n",suuti);
return 0;
}

このコードどこが違うの?
苦Cの開発環境のコンパイラでエラーになっちゃう。
どこも間違えてないはずなんだけど…。
717デフォルトの名無しさん:2010/10/04(月) 17:01:28
志村ー括弧括弧!
718デフォルトの名無しさん:2010/10/04(月) 17:02:16
眼科に行ったほうがいいな
719デフォルトの名無しさん:2010/10/04(月) 17:05:40
苦Cってなんだかわからないけど、エラーメッセージに行番号は出てないの?
720デフォルトの名無しさん:2010/10/04(月) 17:17:31
>>718
マジか。
>>719
どうやら三行目に;を忘れてるらしい。
でもmain関数の宣言に;なんて使わない気がするんだ…。
721デフォルトの名無しさん:2010/10/04(月) 17:18:50
誤 int main<void>
正 int main(void)
こうじゃね
722デフォルトの名無しさん:2010/10/04(月) 17:25:32
>>721
ごめんなさい。僕が馬鹿でした。
思いっきり殴ってください。
1日寝て無いのが原因だな…。とにかくありがとう。
723デフォルトの名無しさん:2010/10/04(月) 17:28:55
クソッ モニタ殴っちまった
724デフォルトの名無しさん:2010/10/04(月) 17:50:12
たぶんエラーメッセージに;が無いってでたんだろうけど
Cのエラー内容はあまりそのまんま信じない方がいい
725デフォルトの名無しさん:2010/10/04(月) 17:55:50
ひょー
726デフォルトの名無しさん:2010/10/04(月) 18:30:44
まあいいじゃん。
そうやって少しずつ進歩してけばいいよ。
727デフォルトの名無しさん:2010/10/04(月) 19:21:32
こわれるから
728デフォルトの名無しさん:2010/10/04(月) 19:26:15
うん
729デフォルトの名無しさん:2010/10/04(月) 22:37:10
苦Cで勉強しようなんてのが躓きの第一歩だな。
あのサイトは、苦しんでやっとCをまともに使えるようになった人間が見に行って脱力する為にあるようなもんだ。
730デフォルトの名無しさん:2010/10/05(火) 00:18:44
exe の 0x76f87f1a でハンドルされていない例外が発生しました: 0xC0000005: 場所 0xc0000004 を読み込み中にアクセス違反が発生しました。

って事だから何か初期化し忘れた変数があるって思っていい?
731デフォルトの名無しさん:2010/10/05(火) 00:22:46
>>730
ソースも晒さずにエスパーじゃあるまいしわかるかいっての
732デフォルトの名無しさん:2010/10/05(火) 00:29:54
>>730
そのエラーはアクセスしちゃ駄目なとことにアクセスしたときによく起こる
配列はみ出したり、確保してないポインタ使ったり
733デフォルトの名無しさん:2010/10/05(火) 00:30:04
ソースがあまりに多くてアップは出来ない量なんです
734デフォルトの名無しさん:2010/10/05(火) 00:43:53
>>733
じゃ、せめてマップファイルだけでもアップしろ。
735デフォルトの名無しさん:2010/10/05(火) 01:04:16
デバッカで動かせばどこで止まってるかくらいすぐ分かるだろうに
736デフォルトの名無しさん:2010/10/05(火) 04:45:05
>>730
0xC0000005は STATUS_ACCESS_VIOLATION だ。
そして0xC0000004は STATUS_INFO_LENGTH_MISMATCH の可能性が高い。
Win32-APIとかの使い方を間違えたんジャマイカ?
戻り値や引数を確認汁。続いてそれらの値が間違ってないか確認汁。
エラーハンドリングが無いなら、それを書くだけで解決することもある(失敗箇所が分かる)。
737デフォルトの名無しさん:2010/10/05(火) 04:49:16
ないファイルを読み込もうとしたか
書き込めないのに書き込もうとしたか
とか?
738デフォルトの名無しさん:2010/10/05(火) 04:55:02
追記で申し訳ない。もう一つ可能性。
WindowsのAPIは構造体の先頭にその構造体のサイズを代入して
引数が正しい構造体かチェックを行うようになっている。
hoge.cbSize=sizeof HOGE; とか、あるいは直値で入れる場合もある。
それを入れ忘れてるか、間違った値になってるんじゃないか?
そういう場合にNTSTATUSはSTATUS_INFO_LENGTH_MISMATCH(0xC0000004) になるような気がする。

ttp://accelart.jp/blog/NTSTATUSErrMsgJa.html
0xC00000XXはエラーコードだから、そこから意味を逆引きできる。
739デフォルトの名無しさん:2010/10/05(火) 07:10:13
#include<stdio.h>
void sum(int a, int b,int *c, int *d)
{
*c= a+b;
*d=(a > b) ? a-b : b-a;
}
int main(void)
{
int na,nb;
int wa=0,sa=0;
puts("二つ");
printf("整数A");scanf("%d",&na);
printf("整数B");scanf("%d",&nb);
sum(na, nb, &na, &nb);
printf("和は%d,差は%d",wa,sa);
return 0;
}
これプログラミングの本に乗ってるソースなんだけど
ボーランドで実行して
34
23

和0,差0とポインタが読み込まれてないんですが。
どういうことでしょう??
本のソース移しただけなのに
740デフォルトの名無しさん:2010/10/05(火) 07:14:47
sum(na, nb, &wa, &sa);
741デフォルトの名無しさん:2010/10/05(火) 07:54:00
南部はさ・・・寒
742デフォルトの名無しさん:2010/10/05(火) 08:40:42
う〜寒
743デフォルトの名無しさん:2010/10/05(火) 08:44:59
#define で文字に数字を指定して
#define HOGE 1
とする時ってどの範囲で有効ですか?
744デフォルトの名無しさん:2010/10/05(火) 08:49:25
>>743
そのソース内全部
その#defineの後に#includeがあればそこにも展開される
あとは#undefineしてたら話は別
745デフォルトの名無しさん:2010/10/05(火) 08:57:39
>>744
ありがとうございました!
下で#includeしてたらそこでも有効になるとは知りませんでした
そのソースで#include NULl 0してないのに
たまにNULLがどこでも0になってる時があるのですがそういうことだったのですね!ありがとうございました!
746デフォルトの名無しさん:2010/10/05(火) 11:27:44
展開される時点で参照されるから、それまでに定義されていればよい。

#define AA BB
#define BB 1

int a = AA; // 正しく1になる。
747デフォルトの名無しさん:2010/10/05(火) 11:31:01
ちなみにこのdefine文は入れ替えても結果はおなじになる
748デフォルトの名無しさん:2010/10/05(火) 11:52:45
こうですか?判りません。
#define BB AA
#define 1 BB
749デフォルトの名無しさん:2010/10/05(火) 11:54:58
#define BB1
#define AA BB
ってことじゃないの?
750デフォルトの名無しさん:2010/10/05(火) 12:54:05
>>748
>>749
馬鹿ばっかり
751デフォルトの名無しさん:2010/10/05(火) 14:21:40
同意
752デフォルトの名無しさん:2010/10/05(火) 14:24:04
ドヤ顔でつまらない事を言いだした>>747が元凶。
753デフォルトの名無しさん:2010/10/05(火) 16:23:28
if(!i%3)とif(i%3==0)の解釈の違いがよくわかりません・・・
754753:2010/10/05(火) 16:24:12
VC++2008です。よろしくお願いします。
755デフォルトの名無しさん:2010/10/05(火) 16:29:00
単項演算子の優先順位のが高いのでiが先に評価されるようです。スレ汚し失礼しました。
756デフォルトの名無しさん:2010/10/05(火) 22:51:12
757デフォルトの名無しさん:2010/10/05(火) 22:53:52
>>756
最低落札価格ありで1円スタートって、なんかバカにされてつみたいだ。
758デフォルトの名無しさん:2010/10/05(火) 23:18:07
そうだ、昔コンパイラと言ったらこういう箱のことだったんだ。
http://page18.auctions.yahoo.co.jp/jp/auction/w55210746

今は実体がない。
759デフォルトの名無しさん:2010/10/05(火) 23:22:25
またまたご冗談を
760デフォルトの名無しさん:2010/10/06(水) 00:14:20
>>758
♂に見えた
761デフォルトの名無しさん:2010/10/06(水) 00:17:12
コンパイラがハードなわけねーだろワロタwww
762デフォルトの名無しさん:2010/10/06(水) 00:21:02
ワシが学生だった頃はパンチカードを電算室に持って行って云々
763デフォルトの名無しさん:2010/10/06(水) 00:41:52
>>640
>?つまらないおおげさな ID やハンドルを使わない。
http://cruel.org/freeware/hacker.html

>?そしてそう名乗っているヤツを相手にして時間を無駄にしてもいけません。
し、しまった。
764デフォルトの名無しさん:2010/10/06(水) 05:29:58
long get_duration() {
long time = ctx->duration * 1000;
return time;
}

long get_duration() {
return (long) ctx->duration * 1000;
}
では戻り値が違うのですが、なぜですか?
765デフォルトの名無しさん:2010/10/06(水) 05:37:27
>>764
上は
(long)(ctx->duration * 1000)

下は
(long)(ctx->duration) * (1000)

どうせctx->durationが浮動少数なんだろう?
766デフォルトの名無しさん:2010/10/06(水) 05:37:38
前者は計算自体はintのまま行ってるから
767デフォルトの名無しさん:2010/10/06(水) 05:40:30
ctx->durationがどんな型なのか分からないと
768デフォルトの名無しさん:2010/10/06(水) 07:16:50
a
769デフォルトの名無しさん:2010/10/06(水) 07:17:36
このスレすぐレス返って来るねw
770デフォルトの名無しさん:2010/10/06(水) 10:13:45
く〜ぴ〜
771デフォルトの名無しさん:2010/10/06(水) 16:28:49
>>769
だって質問の程度が低いんだもん
772デフォルトの名無しさん:2010/10/06(水) 16:36:41
レベルが低いと言ったり高度すぎると言ったり。
わがままな回答者だなw
773デフォルトの名無しさん:2010/10/06(水) 17:38:42
>>772
同じ質問に対して言ってるんじゃないだろ。
お前は質問によってレベル変わってることもわからんのか。
774デフォルトの名無しさん:2010/10/06(水) 17:47:36
画像処理のプログラムです

pixel **img;
〜〜〜〜
img[y][x].r = 〜
img[y][x].g = 〜
img[y][x].b = 〜

このような変数が用意されていて、
位置(x,y)のピクセルの
ある一色について処理する関数
を作りたいのですが
色をどうやって引数にするのかがわかりません
どなたか教えてください
775デフォルトの名無しさん:2010/10/06(水) 17:52:28
まず画像をどういう方法で取り込むつもりなんだ
776デフォルトの名無しさん:2010/10/06(水) 17:55:58
>>775
netpbmを使っています
取り込みはちゃんと出来ています
777デフォルトの名無しさん:2010/10/06(水) 18:18:37
画像フォーマットを調べるかライブラリにそういう処理があるか調べたら
778デフォルトの名無しさん:2010/10/06(水) 18:26:43
>>777
各色を取り出す関数というものがあるのですが、
その関数も色ごと別々に作られているので無意味です

仕方ないので0→赤、1→緑、2→青のように数字をあてて
その数字を引数にして
関数内で場合分けすることにします
(結局同じ処理を3回書かなければならなくなりますが。。。)

これより良い方法があれば是非教えてください
779デフォルトの名無しさん:2010/10/06(水) 18:33:45
>>774
何を聞きたいのかいまいちわからんが

void Func ( pixel* p ){
p->r = 0 ;
p->g = 0 ;
p->b = 0 ;
} ;
Func( &img[y][x] ) ;



void Func ( pixel** p, int x, int y ){
p[y][x].r = 10 ;
p[y][x].g = 10 ;
p[y][x].b = 10 ;
} ;
Func(img, x, y);

とかそういうことじゃなくて?
780デフォルトの名無しさん:2010/10/06(水) 18:36:45
うまく質問ができない奴は
そもそも何が問題なのか理解できていない。
781デフォルトの名無しさん:2010/10/06(水) 18:42:42
>>779-780
説明が下手ですみません

色ごとのフィルタ処理をしたいのです
文法無視で簡単に書くとこんな感じです

float func(int x, int y, int clr){
return ( img[y][x+1].clr - img[y][x-1].clr );
}
red = func(i,j,r);
grn = func(i,j,g);
blu = func(i,j,b);
782デフォルトの名無しさん:2010/10/06(水) 18:45:01
>>774
>色をどうやって引数にするのかがわかりません
func(pixel clr) でいい。
func(unsigned char red, unsigned char green, unsigned char blue) でも別にいいけど。

>pixel **img;
>〜〜〜〜
>img[y][x].r = 〜
って、コンパイル通らないだろ。
pixel img[HEIGHT][WIDTH];
img[y][x].r = 〜
が配列の使い方。
WIDTHの宣言があるから、img[y][x]というアクセスを*(img + y * WIDTH + x)だと解釈できる。
783デフォルトの名無しさん:2010/10/06(水) 18:49:43
>>782
配列はちゃんとアロケートしているので問題ありません

func(pixel clr)ではおかしくないですか?
784デフォルトの名無しさん:2010/10/06(水) 18:59:36
>>781
あぁそういうことか。
offsetof()を使えば統一して書けるけど、俺は>778の方がいいと思う。

>>784
コンパイラがWIDTHを知らないのにどうやってimg[y][x]でアクセスできるの?
785デフォルトの名無しさん:2010/10/06(水) 19:16:03
>>784
offsetof知りませんでした
これ使えば出来そうですね!
ありがとうございました

HEIGHT,WIDTHは
画像を読み込む際にライブラリの関数によって取得済みです
説明が足りずすみません
786デフォルトの名無しさん:2010/10/06(水) 19:25:37
int ** arr = (int **)malloc(HEIGHT * sizeof(int *));
for (int y = 0; y < HEIGHT; ++y) {
arr[y] = (int *)malloc(WIDTH * sizeof(int));
}
これでarr[y][x]でアクセスできるのか。(arr[y])[x]なわけか。すんませんでした。
787デフォルトの名無しさん:2010/10/06(水) 22:39:05
いい加減、韓国からノーベル賞受賞者出せよ
788デフォルトの名無しさん:2010/10/06(水) 22:40:21
やっぱいまのなしで
789デフォルトの名無しさん:2010/10/06(水) 22:44:13
ノーベル賞に値する研究成果があればいずれ認められるよ
790デフォルトの名無しさん:2010/10/06(水) 22:48:58
そんなもの無いよな
791デフォルトの名無しさん:2010/10/06(水) 22:54:41
ノーベル化学賞を受賞したからって何か変わるの?
一気に億万長者になるの?
一気に人類の化学歴史が一変するの?
何か発展するの?
国力が上がるの?
国が無敵になるの?
国民が豊かにあんるの?
国民ゼンタイが頭がいいことの証明になるの?
ならないのでは?何でそんなに必死になって喜んでいるのか分からない。
ノーベル賞のメインは平和賞。すべての学問は平和賞に通じている。
世界平和に通じている。
だからノーベル平和賞以外はさほど意味は無い。
そしてノーベル平和賞では韓国日本はイーブンで対等だ。
792デフォルトの名無しさん:2010/10/06(水) 22:57:56
>一気に億万長者になるの?
なるよ
793デフォルトの名無しさん:2010/10/06(水) 22:58:10
信頼できる筋からの情報によれば、
今年、韓国人は、ノーベル物理学賞一人、医学生理学賞二人、来年のフィールズ賞一人、ガウス賞一人、受賞する模様
794デフォルトの名無しさん:2010/10/06(水) 23:10:32
韓国人は事実を自分の都合のいいほうに捻じ曲げるから、学問には向かない
795デフォルトの名無しさん:2010/10/07(木) 00:23:24
数字の処理のプログラムで、
int型x,y,zがあったとしたら、xとyがscanfにより数字を格納、zはxとyの差をprintfにより出力するためのものとします。

この時、
z = x - y
とすると、x=100、y=150の時にzは-50となります。

zを-なしで50と出力したいのですが、どうすればよいでしょうか?
796デフォルトの名無しさん:2010/10/07(木) 00:27:02
2つを足してから小さいほうの2倍を引けばいい。
797デフォルトの名無しさん:2010/10/07(木) 00:27:28
if(z < 0) z = -z;
とか
if(x > y) z = x - y;
else z = y - x;
とか
798デフォルトの名無しさん:2010/10/07(木) 00:27:59
>>795
if (x > y)
z = x - y;
else
z = y - x;
はどうですか?
799デフォルトの名無しさん:2010/10/07(木) 00:29:43
どちらが大きいのか比べる部分つくりゃよくね?
800デフォルトの名無しさん:2010/10/07(木) 00:30:19
z = abs(x - y);
801デフォルトの名無しさん:2010/10/07(木) 00:33:17
printf("%d\n", z > 0 ? z : z * -1);
802801:2010/10/07(木) 00:40:31
こっちか

z = x > y ? x - y : y - x;
803795:2010/10/07(木) 00:41:58
>>796-802


どうも2つを比較して・・・という考えにいって、
まったくでてきませんでした。
どうもありがとうございました。
804デフォルトの名無しさん:2010/10/07(木) 01:00:29
ばかばっか
805デフォルトの名無しさん:2010/10/07(木) 01:25:39
1の補数表現の環境だったら符号ビットだけ固定してやればいい。
806デフォルトの名無しさん:2010/10/07(木) 01:31:45
>>804のようなタイプの馬鹿が一番終わってることは言うまでもなかった
807デフォルトの名無しさん:2010/10/07(木) 02:30:07
電子の妖精たんに何てこというんだよ
808デフォルトの名無しさん:2010/10/07(木) 04:23:44
char *aaa = "10000";
char bbb[2];

aaaに格納されている10000を、bbb[0] == 0x10、bbb[1] == 0x27となるように代入したいのですが、
何かよい方法はありますか?
809デフォルトの名無しさん:2010/10/07(木) 04:29:28
unsigned int i;
i=atoi("10000");
bbb[1]=i/256;
bbb[0]=i;
810デフォルトの名無しさん:2010/10/07(木) 05:26:28
char *aaa = "1000000";

union u{
int a ;
unsigned char bbb[4] ;
} ;

u t ;
t.a = atoi(aaa) ;

printf ( "%x, %02x %02x %02x %02x\n", t.a, t.bbb[0], t.bbb[1], t.bbb[2], t.bbb[3] ) ;
811デフォルトの名無しさん:2010/10/07(木) 05:36:45
int a=atoi("10000");
memcpy ( bbb, &a, 2 ) ;
812デフォルトの名無しさん:2010/10/07(木) 07:14:38
エンディアンに依存しないのは>809だけか。
813デフォルトの名無しさん:2010/10/07(木) 13:31:06
「エンディアン」などという言葉は無い。
814デフォルトの名無しさん:2010/10/07(木) 13:37:39
言葉はあるだろw
815デフォルトの名無しさん:2010/10/07(木) 13:52:25
>>813
あるよ
816デフォルトの名無しさん:2010/10/07(木) 18:53:28
なんだよインディアンって
817デフォルトの名無しさん:2010/10/07(木) 18:54:46
ウソつかない存在だこのボケ!
818デフォルトの名無しさん:2010/10/07(木) 18:56:13
ケツもふかないぞ
819デフォルトの名無しさん:2010/10/07(木) 19:21:18
ビットの並び順のことを表す単語ではないな。エンディアン。
誤解してるやつ多いんだが。
820デフォルトの名無しさん:2010/10/07(木) 19:24:48
ビットオーダー
バイトオーダー

これだけで現場では大抵通じるね。
821デフォルトの名無しさん:2010/10/07(木) 19:29:41
bbb[0] = i & 0x00FF;
bbb[1] = (i & 0xFF00) >> 8;

と書いて意図どおりに動作しない環境ってあるの?
822デフォルトの名無しさん:2010/10/07(木) 19:43:07
何を意図してるかによる。
823デフォルトの名無しさん:2010/10/07(木) 19:46:28
>>821
それこそがバイトオーダー
824デフォルトの名無しさん:2010/10/07(木) 19:46:29
ふぅ
825デフォルトの名無しさん:2010/10/07(木) 19:49:48
>>823
間違えて理解してるようだな
826デフォルトの名無しさん:2010/10/07(木) 19:54:36
ビットオーダーって今回の話に関係あんの?
827デフォルトの名無しさん:2010/10/07(木) 19:55:37
そもそも愛が符号付きだと動作は処理系によって異なる。
bbb[1] = ((unsigned int)i & 0xFF00U) >> 8U;
828デフォルトの名無しさん:2010/10/07(木) 20:06:46
いまどきintが16ビットの環境なんて考えなくていいんじゃ
829デフォルトの名無しさん:2010/10/07(木) 20:08:48
そもintが16bitなら0xFF00の型はunsigned intなわけで
830デフォルトの名無しさん:2010/10/07(木) 20:14:19
つかdefinで

s8
u8
s16
u16
s32
u32

とか作っとけばよくね?
でintは指定しない。
831デフォルトの名無しさん:2010/10/07(木) 20:30:43
え?なんだって?
832デフォルトの名無しさん:2010/10/07(木) 20:31:45
archに自動であわせるなら、intの方が
833デフォルトの名無しさん:2010/10/08(金) 01:33:23
>>830
stdtypes.h
834デフォルトの名無しさん:2010/10/08(金) 01:43:01
速読でC言語マスターできますか?
835デフォルトの名無しさん:2010/10/08(金) 01:55:43
反復演習の方が
836デフォルトの名無しさん:2010/10/08(金) 01:56:10
習うより慣れろ
837デフォルトの名無しさん:2010/10/08(金) 01:58:26
速読は理学書には効果ない
838デフォルトの名無しさん:2010/10/08(金) 02:01:03
linuxで大量の静止画をpng出力するアプリを作っていますが、
このpngの出力を動画にしたいと思っています。
linuxで動画を作成する場合、どのライブラリを使えばいいでしょうか?

動画はとりあえず無圧縮でOKです。
Windowsでの作成方法でも良いです。ぜひ教えてください。
よろしくお願いします。
839デフォルトの名無しさん:2010/10/08(金) 02:15:54
>>838
無圧縮でいいなら
AVIのヘッダー作って画像の色データを連結して保存していけばいいだけじゃ?
ヘッダーの作成がちょいメンドイけど音声無しならそんなでもないはず
840デフォルトの名無しさん:2010/10/08(金) 02:46:47
ffmpeg -f image2 で読み込めるかも
841デフォルトの名無しさん:2010/10/08(金) 06:50:00
つimagemagick

> convert *.png hoge.mpg
でいけたと思う。
バージョンによってはなんかおかしくなるけど。
842デフォルトの名無しさん:2010/10/08(金) 07:49:40
ゲーム作るのに必要な知識ってどのくらい?
一応アルゴリズム以外は勉強したんだけど、復習しときたい。
843デフォルトの名無しさん:2010/10/08(金) 07:56:29
>>842
ゲームによる
ブロック崩しとかなら基本やったらもうできるだろ
844デフォルトの名無しさん:2010/10/08(金) 09:10:44
ゲーム作るならC++、DirectX、Lua、線形代数あたりは必須かな。あとは知識が足りなくなったら付け足す感じで
845デフォルトの名無しさん:2010/10/08(金) 09:10:58
>>842
君が作ろうとしているであろうゲームは
君が一生努力しても無理
846デフォルトの名無しさん:2010/10/08(金) 11:29:30
引数指定って何のことですか?
引数を指定して実行とか良く意味がわからない。

プログラム上の実、仮引数はわかるけど。
847デフォルトの名無しさん:2010/10/08(金) 11:35:50
ウィンドウズで定義されているm128i共用体は、Linuxではどのように
定義されているのですか?知ってる人がいたら教えてください。
848デフォルトの名無しさん:2010/10/08(金) 11:41:05
>>846
コマンドライン引数を指定してプログラムを実行するということじゃないかたぶん
main関数のargvで受け取る引数
849デフォルトの名無しさん:2010/10/08(金) 11:42:07
>>846
main関数の引数
コマンドラインから引数を与えて実行する

例えば
hoge.exe in.txt out.txt

int main(int argc, char *argv[]){

FILE *inFp, *outFp;

inFp = fopen ( argv[1], "r" ) ;
outFp = fopen ( argv[2], "w" ) ;

みたいな
850デフォルトの名無しさん:2010/10/08(金) 11:52:26
コマンドラインの意味が良くわからん・・
コマンドラインの引数?何のことだか・・
851デフォルトの名無しさん:2010/10/08(金) 11:59:18
>>850
それくらいググれよ
Windowsならコマンドプロンプト、Linux系ならshellシェルからファイル名を指定して実行
852デフォルトの名無しさん:2010/10/08(金) 12:12:56
>>847
typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
853デフォルトの名無しさん:2010/10/08(金) 12:13:14
>>851
ファイル名って何だ?
854デフォルトの名無しさん:2010/10/08(金) 12:24:14
>>853
vipでやれ
855デフォルトの名無しさん:2010/10/08(金) 12:25:07
しねばいいのに
856デフォルトの名無しさん:2010/10/08(金) 12:26:13
>>853
やめろ
>>851
コマンドライン上で入力して実行したらいいのに
何の意味があるの?引数の指定って。
857デフォルトの名無しさん:2010/10/08(金) 12:30:04
>>849

argv[]←ここに引数を入れるんですね?
858デフォルトの名無しさん:2010/10/08(金) 12:31:16
>>857
それくらいググれよ
しねばいいのに
859デフォルトの名無しさん:2010/10/08(金) 12:33:10
>>858
偽者です
>>857
それは配列だって、アホ。

何のために引数指定して実行するんですか?
860デフォルトの名無しさん:2010/10/08(金) 12:33:39
>>857
人生相談掲示板@BBSPARK
http://life.bbspark.net/
861デフォルトの名無しさん:2010/10/08(金) 12:38:13
>>859
トリップつけろ
862デフォルトの名無しさん:2010/10/08(金) 12:39:39
トリップってなんですか?
8631 ◆tsGpSwX8mo :2010/10/08(金) 12:43:01
>>861
あい


Windowsの場合コマンドプロントですよねぇ。
コマンドプロントから入力,実行できないんですが何が原因でしょう?
コンパイラは5.5です
864デフォルトの名無しさん:2010/10/08(金) 12:44:06
865デフォルトの名無しさん:2010/10/08(金) 12:45:37
多分ディレクトリの移動とかしてないんだろうなぁ
8661 ◆tsGpSwX8mo :2010/10/08(金) 12:46:45
>>865
どういうことですか?
端折って説明してください
867デフォルトの名無しさん:2010/10/08(金) 12:46:50
>>859
例えばビットマップをjpegに変換するbmp2jpg.exeがあったとしよう
変換したいビットマップファイル名をプログラム内に記述しちゃうと
変換したいファイルを変えるたびにコンパイルしなおさないとだめだよね?
そういうときに変換したいファイル名を引数として渡す
bmp2jpg.exe hoge.bmp のように
bmp2jpg.exeのmain関数はこの引数を受け取って処理をするだけなので再コンパイルの必要がない

こういった使い方のほかに起動オプションを指定、例えば
game.exe w だったらwindowモードで起動
game.exe f だったらフルスクリーンモードで起動みたいな

要は外部から実行動作を切り替えたい時に使う


一々コマンドラインから入力するのが面倒ならバッチファイルに記述すれば良いし、連続実行もできる
バッチファイルとはなんですか?とか聞くなよ
868デフォルトの名無しさん:2010/10/08(金) 12:52:50
>>866
基本的にコマンドプロンプトが見てるのはひとつのフォルダだけなのでそこになければファイル名入れても起動できない
起動した直後は、お前の作ったプログラムのあるフォルダにまず移動させないといけない
869デフォルトの名無しさん:2010/10/08(金) 12:59:00
>>866
コマンドラインから
cd "exeのあるフォルダへのフルパス"

もしくは
exeのあるフォルダにバッチファイル作ってダブルクリックしろ
870デフォルトの名無しさん:2010/10/08(金) 13:32:01
>>866
日本語の勉強からやり直せ
871デフォルトの名無しさん:2010/10/08(金) 13:43:38
           ____      ) Cドライブの全フォルダを環境変数に突っ込んだらどうなるの?っと
        /⌒  ⌒\    ) 
      /( ●)  (●) \  )/⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y丶
     / ::::::⌒(__人__)⌒::::: \
    |      |r┬-|     |
     \       `ー'´     /
     ノ            \
   /´               ヽ                 カ
  |    l   l||l 从人 l||l      l||l 从人 l||l   カ    タ
  ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.     タ
   ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
      ┌┬┬┐┌┬┬┬┐┌┬┬┬┐┌┬┬┬┐
   ,. - ''"| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ρ ̄`l
    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ ̄ ̄

      _____
    /::::::─三三─\            リアルな話すると超便利!!
  /:::::::: ( ⌒)三(⌒)\          わざわざフォルダを移動しなくていい。
  |::::::::::::::::::::(__人__)::::  |  _____ どこからでもexeを走らせることができる。
   \:::::::::   |r┬-|  ,/ .| |        便利さが信じらんないくらい超ヤバイ
   ノ::::::::   `ー'´  \ | |        パソコンがコンビニってくらい便利
872デフォルトの名無しさん:2010/10/08(金) 14:09:01
>>850
OK、オ○コラインと読み替えればいい。
あとはわかるな?w
873デフォルトの名無しさん:2010/10/08(金) 14:24:15
ふふふ
874デフォルトの名無しさん:2010/10/08(金) 16:15:57
あらあら
8751 ◆tsGpSwX8mo :2010/10/08(金) 16:34:56
>>867
何言ってるか全くわかんねw
8761 ◆tsGpSwX8mo :2010/10/08(金) 16:47:54
ファイルを変えるの意味が全く分からんw
あと.exeって何だ?.cじゃないの?
877デフォルトの名無しさん:2010/10/08(金) 16:56:45
狂人の真似とて大路を走らば、即ち狂人なり。
878デフォルトの名無しさん:2010/10/08(金) 16:57:46
クマー
8791 ◆tsGpSwX8mo :2010/10/08(金) 17:06:48
ファイル名をプログラム内に記述w?どういうこと?
ネタとか無しに、プロフェッショナルな事しすぎだろ。
何が起こってるんだ?ガチでネタじゃない。
今四則計算とかのプログラム作ってるけど・・
880デフォルトの名無しさん:2010/10/08(金) 17:22:15
誘導

「スレ立てるまでもない質問はここで 107匹目 」
http://hibari.2ch.net/test/read.cgi/tech/1284736445/
881デフォルトの名無しさん:2010/10/08(金) 17:33:35
まちゃみに比べたらどうってことないうざさだぜ
882デフォルトの名無しさん:2010/10/08(金) 17:37:22
とりあえず疑問を自分でまとめてから書き込もうな。
何が分からないのかが我々に分からないんで。
8831 ◆tsGpSwX8mo :2010/10/08(金) 17:37:28
でもパソコンでインターネットくらいしかしない人に
>>867
言ってもちんぷんかんぷんだろ。
8841 ◆Mjk4PcAe16 :2010/10/08(金) 17:41:16
>>883
何故わかったww
885デフォルトの名無しさん:2010/10/08(金) 17:53:08
>>883

だが>>880の意味はわかるだろうて?
886デフォルトの名無しさん:2010/10/08(金) 18:12:48
ここ入門編だろww
入門ってのは実践の前の応用の前の基礎の前だぞ?
どんだけレベル高いスレなんだよw
887デフォルトの名無しさん:2010/10/08(金) 18:22:50
質問が門に入る前のレベルなので半年ほど門に入る努力をしてからお越しください
まずは日本語の読解能力あたりに力をいれてみてはどうでしょうか?
888デフォルトの名無しさん:2010/10/08(金) 18:28:54
>>847
852に書いてあるように共用体で定義されていない。
889デフォルトの名無しさん:2010/10/08(金) 18:30:56
>>886
これまでのこのスレの流れ

Q「家から外出するにはどうすればいいですか?」
A「玄関でドアを開けて外に出て、ドアを閉め鍵をかけてください」
Q「ドアって何ですか?」
A「スレ立てるまでもない質問すれで聞いてください」
Q「鍵って何ですか?」
A「・・・」
890デフォルトの名無しさん:2010/10/08(金) 18:38:29
>>889
ワロタw
891デフォルトの名無しさん:2010/10/08(金) 18:38:51
プログラミングをやるからには誰しもその知識を偉そうに語りたいものです
スレタイからも分かるようにこのスレは、俺に聞け(キリッという衒学の入門編なのです
背伸びも知ったかも出来ないレベルだと話にならないということです
892デフォルトの名無しさん:2010/10/08(金) 18:42:35
知ってる事を偉そうに語る者には碌な甘えん坊がつかない
893デフォルトの名無しさん:2010/10/08(金) 18:45:02
人間について哲学を語りたいならそのためのスレがあるだろ
俺が言ってる意味わかるよな>>892
894デフォルトの名無しさん:2010/10/08(金) 18:45:08
>>892
日本語でおk
895デフォルトの名無しさん:2010/10/08(金) 18:47:18
>>891,892

>>860
896デフォルトの名無しさん:2010/10/08(金) 19:06:29
>>891
苦労せず育ったんだろうな
俺はこーいうの苦手だから、分かった時は頭の中からドーピングが
出て、誰かに教えてあげたい(出来るなら世界で一番分かりやすい
日本語で!!って・・)
それが本当のプログラミング言語なのではないだろうか?
897デフォルトの名無しさん:2010/10/08(金) 19:15:09
>>896
まずは日本語の勉強からだな
898デフォルトの名無しさん:2010/10/08(金) 19:23:24
>>897 オマエモナー
899デフォルトの名無しさん:2010/10/08(金) 19:36:04
ITドカタは低脳です
覚えていてください

あなた低脳ですか? そうならプログラマしかなれません
900デフォルトの名無しさん:2010/10/08(金) 19:37:31
日本語も重要だが、英語をまともに理解できないんでは話にならない。
901デフォルトの名無しさん:2010/10/08(金) 19:46:28
コンパイラのエラーも、まともに読もうとしないのが、最近の流行りでしょ。
902デフォルトの名無しさん:2010/10/08(金) 19:54:34
で?お前らなんでここにいるの?
903デフォルトの名無しさん:2010/10/08(金) 19:55:48
ひまだから
904デフォルトの名無しさん:2010/10/08(金) 19:55:54
哲学的な質問ですな
905デフォルトの名無しさん:2010/10/08(金) 20:17:42
>>877
徒然草とは風流ですな。
906デフォルトの名無しさん:2010/10/08(金) 22:07:58
いや大路を走るくらい別に構わないだろ。
907デフォルトの名無しさん:2010/10/08(金) 22:16:52
>>900
低脳で理解できないんです><
908デフォルトの名無しさん:2010/10/08(金) 23:35:19
まともに理解できるというのは
どういうことなのかね??
909デフォルトの名無しさん:2010/10/09(土) 01:40:28
単語は調べれば分かるが、文法の基本くらいは理解しないと
変な訳し方をして理解できなくなっては困る。
910デフォルトの名無しさん:2010/10/09(土) 01:43:57
このスレや宿題スレなんかを見る限り、英語が理解できてるのは極めて少数だと思うけど
911デフォルトの名無しさん:2010/10/09(土) 02:00:03
デーヴァナーガリーと比べればまだ理解できてる方だろ
繁体>簡体>ラテン>キリール>ギリシャ>アラビア>デーヴァナーガリー
912デフォルトの名無しさん:2010/10/09(土) 02:02:42
出鼻刈り
913デフォルトの名無しさん:2010/10/09(土) 02:06:19
繁体>簡体≒ラテン>キリール≒ギリシャ>>>(越えられない壁)>>>アラビア>>>(越えられない壁)>>>デーヴァナーガリー
914デフォルトの名無しさん:2010/10/09(土) 08:47:20
言語の話をしているのか文字の話をしているのか、どっち途鼬害だ。
915デフォルトの名無しさん:2010/10/09(土) 09:14:14
Cシェルって何ですか?調べても曖昧でわかりくいです
C言語とは別のプログラミング言語なのでしょうか?
916デフォルトの名無しさん:2010/10/09(土) 09:16:13
>>915
先ずはシェルスクリプトで調べてください。
そうすれば解ると思いますが、スレ違いです。
917デフォルトの名無しさん:2010/10/09(土) 09:57:30
>>915
cshlっていうのはシェルのこと
シェルって言うのはwindowsだとcmd.exeとかに当たる
cshの他にbash、zsh、tcshとかがある

windowsではバッチファイルと言うが、unix業界ではバッチの事をシェルスクリプトという
cshのシェルスクリプトの文法は、C言語に似ているってだけの話
918デフォルトの名無しさん:2010/10/09(土) 12:51:49
Cシェルはどこで書いて、どうやってコンパイルすればいいのですか?
919デフォルトの名無しさん:2010/10/09(土) 13:02:32
その程度もわからない人間に説明したって理解できないでしょ
920デフォルトの名無しさん:2010/10/09(土) 13:08:41
bash
これって
バッチって読むの?バッシュって読むの?
921デフォルトの名無しさん:2010/10/09(土) 13:11:11
>>919
たぶん、釣りだと思うよ
922デフォルトの名無しさん:2010/10/09(土) 13:12:38
>>920
バッシュでいいと思う。バッチはbatchだし
923デフォルトの名無しさん:2010/10/09(土) 13:12:40
>>918
>Cシェルはどこで書いて
http://www.tcsh.org/Welcome

>どうやってコンパイルすればいいのですか?
普通にmakeすればよいよ。
924デフォルトの名無しさん:2010/10/09(土) 13:29:06
bashはBourne Again SHellの略
925デフォルトの名無しさん:2010/10/09(土) 14:34:04
なんでこのスレの住人てスルーできないの?
病気なの?
926デフォルトの名無しさん:2010/10/09(土) 14:37:19
スルーしたらツマランやろ
927デフォルトの名無しさん:2010/10/09(土) 14:38:20
罵りから入るのが出来るプログラマーの証
928デフォルトの名無しさん:2010/10/09(土) 14:54:50
>>923
英語読めってのか、このスレはハードル高すぎ
929デフォルトの名無しさん:2010/10/09(土) 14:57:42
突っ込むとこそこなのかなあ?w
930デフォルトの名無しさん:2010/10/09(土) 15:14:54
clock()関数を使ってプログラムの実行時間を計測しようと思うのですが、
ベンチマークとしてこの関数は使えますか?またプログラムのどの位置に
書けばいいのでしょうか。
931デフォルトの名無しさん:2010/10/09(土) 15:17:19
>>930
どの位置にって、計測したい所の最初と最後の箇所なんじゃないの?
932デフォルトの名無しさん:2010/10/09(土) 15:19:28
最初と最後の差を計測するんですか?
トータルの実行時間を値として返すのではないのですか?
933デフォルトの名無しさん:2010/10/09(土) 15:19:33
ストップウォッチで測った方が良いよ
934デフォルトの名無しさん:2010/10/09(土) 15:23:33
>>932
処理に必要なデータを読み込んだり準備する時間は計測に入れたくないこともあるでしょう
全体を測りたい人ばかりじゃないのです
935デフォルトの名無しさん:2010/10/09(土) 15:27:30
936デフォルトの名無しさん:2010/10/09(土) 15:31:03
ふぅ
937デフォルトの名無しさん:2010/10/09(土) 15:35:22
>>932
unix系なら、コマンドのtimeで計れるけど。
938デフォルトの名無しさん:2010/10/09(土) 15:56:11
シェルでtime ./a.exe を実行したときGCCでコンパイルしたほうが時間
は速いのに、clock()で計測するとclの方が早いのはなぜですか。
どちらを正しい実行時間とするのがいいのでしょう。
939デフォルトの名無しさん:2010/10/09(土) 15:57:56
どっちも
940デフォルトの名無しさん:2010/10/09(土) 16:10:20
処理に使ったCPU時間と
実際にかかった処理の時間は違うから
941デフォルトの名無しさん:2010/10/09(土) 17:16:02
> ただし、秒以下の単位を取得するには clock関数を用い、長時間の計測を行う場合には difftime関数を用いてください。これは、clock関数がプロセッサ時間を返却するため返却値の上限が低いためです。
942デフォルトの名無しさん:2010/10/09(土) 17:34:43
>>917
Windows のシェルは explorer だろぼけ。
943917:2010/10/09(土) 17:40:36
>>942
そりゃーそうだけど

>Windowsのシェルといえばコマンド・プロンプト(cmd.exe)であるが、
>その機能はUNIXなどのシェルと比較するとまったく貧弱なものである。
@itより

それは、GUIに限った話であって
power shellとかはどう説明する?
944デフォルトの名無しさん:2010/10/09(土) 18:06:00
ふっほっ
945デフォルトの名無しさん:2010/10/09(土) 18:21:40
Explorerはファイルマネージャとしての側面が強い。
ループも制御できないシェルなんてcmd.exe以上の役立たずだ。
946デフォルトの名無しさん:2010/10/09(土) 19:10:50
Cシェル(cygwin bash shell)
でプログラミング書いたら、includeとかいらないんですか?
スクリプトだから簡単でいんですよね?
947デフォルトの名無しさん:2010/10/09(土) 19:12:49
はいはい、この手の釣り質問は以後スルーでよろ。
948デフォルトの名無しさん:2010/10/09(土) 19:13:55
スクリプト言語とC言語は違うと思ったほうが
949デフォルトの名無しさん:2010/10/09(土) 19:15:41
CシェルとC言語は仕様が似てるでしょ?
950デフォルトの名無しさん:2010/10/09(土) 19:25:09
?
951デフォルトの名無しさん:2010/10/09(土) 19:33:35
CシェルってC言語の簡略化でしょ?
952デフォルトの名無しさん:2010/10/09(土) 19:34:34
タートルタートル〜
953デフォルトの名無しさん:2010/10/09(土) 19:37:08
> 今日では C shell はほとんど使われておらず、tcsh、Korn Shell(ksh)、Bourne Again Shell(bash)などに取って代わられた。
954デフォルトの名無しさん:2010/10/09(土) 20:04:42
cygwin bash shell の頭文字とってC shellかと思ってたww
955デフォルトの名無しさん:2010/10/09(土) 20:33:10
とりあえずtcshはC shell系だよ
これでスクリプトまで書いてる人は滅多にいない気もするけど
956デフォルトの名無しさん:2010/10/09(土) 21:28:58
ひっほっ
957デフォルトの名無しさん:2010/10/09(土) 21:58:26
いや、tcshだと一部bsh系の表記も使えるからtcshで書くという人もいなくはない。
でも、その辺は使い捨てにするのが普通だからどうでもいい。

つーか、スレ違いだってばさ。
958デフォルトの名無しさん:2010/10/09(土) 22:08:29
cshで書くのは、スレ違いと言いながら粘着する>>957のような低能だけ。
959デフォルトの名無しさん:2010/10/09(土) 22:41:04
この程度で粘着とか。
960デフォルトの名無しさん:2010/10/10(日) 00:25:25
まだ時々Cシェルスクリプト書いている人は見かける。
BSD系の人に多い。
961デフォルトの名無しさん:2010/10/10(日) 00:36:25
どーでもいい
962デフォルトの名無しさん:2010/10/10(日) 01:14:22
つまり、C言語は駄目ということだな
963デフォルトの名無しさん:2010/10/10(日) 01:15:48
なんで、そんな結論が出る?w

Cシェルがダメだって結論は出ても、
C言語がダメだって結論には絶対ならんだろw
964デフォルトの名無しさん:2010/10/10(日) 01:46:27
じゃあB言語を作るしか
965デフォルトの名無しさん:2010/10/10(日) 01:48:00
SEX言語でいいよ。
966デフォルトの名無しさん:2010/10/10(日) 07:34:08
あるソフトをコンパイルしたらエラーが出て、
該当箇所にこんなコードがあるんですが

FILE *fin = {stdin}, *fout = {stdout};

こういう書き方ってありなんでしょうか?
967デフォルトの名無しさん:2010/10/10(日) 07:41:06
ねーよ。
968デフォルトの名無しさん:2010/10/10(日) 07:59:35
FILE *fin[] = {stdin}, *fout[] = {stdout};
969デフォルトの名無しさん:2010/10/10(日) 08:12:22
とりあえず、ソースのfin/foutをすべて手動でstdin/stdoutに置き換えて解決しました

>>968 同じエラーが出ます
error: 初期化子の要素が定数ではありません

stdin,stdout等はwhich are expressions of type pointer to FILEって書いてるから
FILE*fin = stdin,*fout=stdout;
これで動いて欲しいけど、これもエラー
Cは難しい
970デフォルトの名無しさん:2010/10/10(日) 08:27:14
> FILE*fin = stdin,*fout=stdout;
codepadは通ったよ
http://codepad.org/Xsl26OP0
971デフォルトの名無しさん:2010/10/10(日) 12:05:38
エラーの内容からすると訂正はこうじゃないのか?
FILE*fin, *fout;
fin = stdin;
fout=stdout;

codepadがC99対応なんじゃないかね
試してないけど
972デフォルトの名無しさん:2010/10/10(日) 12:06:52
こうじゃないのか? -> こういう感じじゃないのか
973デフォルトの名無しさん:2010/10/10(日) 12:45:04
FILE * fin = stdin;
FILE * fout = stdout;
974デフォルトの名無しさん:2010/10/10(日) 12:54:41
>>966の書き方でVCもbccも通ったんだが
975デフォルトの名無しさん:2010/10/10(日) 12:57:06
VC++は
#define stdin (&__iob_func()[0])
だからauto変数以外の初期化でエラーになる。
976デフォルトの名無しさん:2010/10/10(日) 13:25:29
966の中括弧の役割が分からんのだが
977デフォルトの名無しさん:2010/10/10(日) 13:43:52
ほふぅ
978デフォルトの名無しさん:2010/10/10(日) 13:44:50
きゅっきゅっ
979デフォルトの名無しさん:2010/10/10(日) 13:44:50
>>974
出先なんで試していないが俺もコンパイル通ると思うぞ。
出来ないって言っている奴は間違えてC++としてコンパイルしているのではないだろうか?
980デフォルトの名無しさん:2010/10/10(日) 13:45:38
かぽぅ〜
981デフォルトの名無しさん:2010/10/10(日) 13:47:17
普通、警告はエラーにするからコンパイルは通らない。
982デフォルトの名無しさん:2010/10/10(日) 15:48:33
ひょひょっ
983デフォルトの名無しさん:2010/10/10(日) 15:50:10
>>978
>>979
984デフォルトの名無しさん:2010/10/10(日) 20:24:35
>>976
要素が増えたときのためのフェイルセーフでしょ。
個人的にはくだらんコーディングルールだなーと思うけど。
985デフォルトの名無しさん:2010/10/10(日) 22:31:10
vcvars32.bat'の設定教えて

986デフォルトの名無しさん:2010/10/10(日) 22:36:17
次スレ立てます
987デフォルトの名無しさん:2010/10/10(日) 22:37:22 BE:596428079-S★(531555)
次スレ立てました
C言語なら俺に聞け(入門編)Part 71
http://hibari.2ch.net/test/read.cgi/tech/1286717824/
988デフォルトの名無しさん:2010/10/10(日) 22:48:11
>>985
インストール時に自動で設定されるだろ。
989デフォルトの名無しさん:2010/10/10(日) 23:19:56
>>985
プログラムの設定関係はそのプログラムのスレでどうぞ。
990デフォルトの名無しさん:2010/10/11(月) 20:19:04
1000なら背が伸びる
991デフォルトの名無しさん:2010/10/11(月) 20:20:00
1000なら彼女が出来る
992デフォルトの名無しさん:2010/10/11(月) 20:21:00
1000なら宝くじが当たる
993デフォルトの名無しさん:2010/10/11(月) 20:21:59
1000なら髪が生える
994デフォルトの名無しさん:2010/10/11(月) 20:23:00
1000なら虫歯が治る
995デフォルトの名無しさん:2010/10/11(月) 21:46:37
995なら明日も晴れ
996デフォルトの名無しさん:2010/10/11(月) 22:56:30
996なら虫唾が走る。
997デフォルトの名無しさん:2010/10/11(月) 23:06:46
997なら彼女ができる
998デフォルトの名無しさん:2010/10/11(月) 23:15:52
998なら寝る
999デフォルトの名無しさん:2010/10/11(月) 23:20:24
乗りなさい
1000デフォルトの名無しさん:2010/10/11(月) 23:21:45
C言語なら俺に聞け(入門編)Part 71
http://hibari.2ch.net/test/read.cgi/tech/1286717824/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。