[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/09 10:50 / Filesize : 148 KB / Number-of Response : 794
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++上級者が集まるスレ



1 名前:デフォルトの名無しさん [04/09/14 07:16:41]
ここでは他のC++スレよりもより一層と高いレベルでの情報交換・体験談などを行うスレです。
我こそはC++プロフェッショナルだという方の書き込みをお待ちしております。


654 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 22:50:15 ]
>>653
あってるかどうかの自信はないが原因やその調査方法や対策等々を多少予想がつかんでもないが、
プロファイラを使えば一発で解決する問題なのに、あえてプロファイラは使えませんと逃げるような
教えて君がくるようなスレではありません、ここは。どっか逝け。

つーかせめてどんなプログラムかぐらい書け。あと、テキトーにプログラムをコメントアウトして
現象が変わったらその部分あるいはその部分に関連したところになんかある。ロクに情報も提供
しない教えて君はたまにはそーゆー地道なデバッグでもやってなさい。

655 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 22:51:41 ]
サクセスに振り込んだお金が返ってこない

まで読んだ

656 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 23:01:07 ]
「まで読んだ」ネタは
それを書くより早く読めるレスについてるとなんか痛い

657 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 23:08:58 ]
ごめんね母ちゃんはじめて「まで読んだ」したから

658 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 00:36:04 ]
>>654
別に逃げているわけでは無く、
もともとVC8EEにはプロファイラがついていないのです。
これを使えば解決することは分かっていたので、あらかじめ注釈させていただきました。

情報が足りなかったことは誤ります。
作っているのは所謂ノベルゲームです。
>>654にあるようにプログラムを適当にコメントアウトしていったところ、
サウンドを再生する専用のスレッドがネックになっていることが分かりました。
ここでのSleep間隔を0からそれより大きくした結果(現在は5)、
CPU使用率が20%にまで下がりました^^

ちょっと納得できない部分もあるのですが、とりあえず上手く動くようになりました。
どうもありがとうございます^^

659 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 00:40:25 ]
> もともとVC8EEにはプロファイラがついていないのです。
もろ逃げじゃんw
VC8EEプリインストールモデルなんて聞いたことないしなぁw

学校のPCだけでやってるんだったらもちスレタイ嫁。

660 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 14:18:40 ]
>>658
OS上CPU使用率が100%と表示されていても
本当にCPUの演算ユニットを100%ぶんまわしてるわけじゃないから、
Sleepは0でも良い。1あれば十分。5は多すぎ。

661 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 02:24:45 ]
>>659
ごめん。
意味が分からない。

>>660
windowsのスレッドシステム(自分は2000使ってます)をよく知らないのですが、
メインの方の処理が軽くなると、
コンテキストスイッチが頻発してCPU使用率が異常に上がるのかなぁ。
実行速度は軽くなっているのに、使用率が上がるということは
無駄な処理がすごく増えたってことですよね。。。

あと、5msのSleepは確かに長すぎるかもしれません。
メインスレッドの方がつまってくると、
音飛ぶ可能性ありますね。
このあたりはもうちょっと調整してみます。

662 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 02:31:09 ]
>>661
Waitのない無限ループを持つスレッドがひとつでもあればCPU使用率は100%になる。
そんな当たり前なことも理解できてないようなヤツがいていいスレじゃない。どっか逝け。



663 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 15:12:33 ]
>>662
非HTでシングルコアの場合だけな。

664 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 01:23:31 ]
>>662
Wait = Sleep(0) という解釈でいいなら、ちゃんと入ってましたよ。

問題は
1, メインスレッド・サウンドスレッドともにちゃんとSleepが入っていた
  (メインの方はFPS固定の可変Wait, サウンドの方は常に0)
2, 単純な実行速度はデバッグモード時よりもリリースモード時の方が速かった
3, メインスレッドのWait値もリリースモードの方が大きかった
にも関わらず、デバッグモードではCPU使用率が30〜40%、
リリースモード時は常に100%になっていた点です。

リリースモードではサウンドスレッドが相当無駄なことをしているのは理解できるのですが、
それならデバッグモードではなんで100%にならないのかなと。。。

>>663
そうですね^^

665 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 01:46:39 ]
>>663
デュアル/マルチプロセサは無視か?

>>664
> Wait = Sleep(0) という解釈でいいなら、

よくないだろ。

それは、ともかくコードの断片も示せないなら、エスパー希望の広告を
新聞に載せた方が早いので、ここから立ち去ってくれ。

666 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 02:15:36 ]
>>664
C++の話題じゃないから、662を読んで分からないなら Windows 板へ池

667 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 06:56:43 ]
>>664
処理速度の速いほうがCPU使用率も高くなんのはあたりまえだろ、どっか逝け。

668 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 08:20:29 ]
俺も大体そう思うな

プロファイラがあってもデバッグ版のCPU使用率が低い理由はわからないと思う。
これに関しては私には判りません。
デバッグモードでは何か特殊な待ちがあるんだろか。

たとえばwaveOutWriteなら複数のバッファを渡せるので
音飛ぶ可能性は著しく低く、
バッファが終わるころにメッセージ通知が来るから
それまで何もしないのでCPU使用率を著しく下げることも出来るはず。

ノベルゲームの経験ないから推測だが
ノベルゲームで絶えず処理している状況が存在する理由がわからない。

669 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 11:21:53 ]
デバッグ版ではシステムコールの呼び出しが
増えてたりするからじゃないのん?


670 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:06:52 ]
c++のリファクタリングツールは
VisualStudioなら
ref++
Refactor! Pro

emacsで使えるツールはないの?

671 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:11:02 ]
www.wholetomato.com/forum/topic.asp?TOPIC_ID=3990

リファクタリングツールいろいろ

672 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:27:03 ]
xref-tech.com/xrefactory/main.html
emacsリファクタリングツールみつけた
試したいけどemacsでc++コンパイルする環境整えるの大変だ



673 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 23:49:30 ]
すみません。これで最後にします。

>>668
サウンドライブラリとして、OpenALを使っているので、
空きバッファがあるかどうか
常に監視する必要があるのです。

確かにwaveOutならその必要はありませんね。

>>669
システムコールかもしれません。


一応テストとして、
・適当な処理+Sleep(0)を繰り返すスレッド
・適当な処理+Sleep(10)を繰り返すスレッド
の二つを作って実行させたのですが
デバッグモード、リリースモードの両方でCPU使用率は100%でした。
(当然か。。。)

件のアプリでは、さらに多くのスレッドといろいろな処理が付加されているので、
どこかになにがしかの待ちが入っているんだと思います。
(共有リソース待ちや、IO待ち?)
感覚としては、スレッド間のリソース待ちが原因では無いかと思いました。
(調べてみるとミキシングスレッドとサウンドデータ供給スレッドが別でした^^)
ちょっとこれ以上は分から無いのですが、
他にやることもあるのでこの件はこれで終わりにしたいと思います。

それでは、スレ汚し失礼しました。

674 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 12:20:00 ]
実行中にブレーク掛けてみて、どの処理が走ってるかみてみたら。
何回かやれば時間食ってる部分が解るだろ。

675 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 00:33:53 ]
>>674
遅れてすみません。
ブレーク掛けてみたのですが、
意味の分からない結果になりました。
なんか、OpenALのバグのような気がします。。。

原因が分かったら報告します。

676 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 09:20:44 ]
ここは上級者が集まるスレです。上級者に質問するスレではありません。

677 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 12:34:00 ]
集まって何すんの?

678 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 12:34:37 ]
書き込んだり、書き込みを読んだりするに決まってるじゃん。

679 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 13:18:05 ]
書き込んだり、書き込みを読んだりして何すんの?

680 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 14:53:13 ]
できることとか、やりたいこと。

681 名前:デフォルトの名無しさん [2007/03/02(金) 19:46:02 ]
夏時間まで考慮して、タイムゾーンを取得する方法を教えてください。


682 名前:デフォルトの名無しさん [2007/03/27(火) 02:43:43 ]
boolは何故1バイトも消費するのですか?



683 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 05:01:28 ]
>>682
1バイトとは限らんぞ。処理系依存だ。
VCではint型にダウンキャストされるんじゃなかったっけ?
#かなり昔に仕様書らしきもので読んだ気が。

仮に>>682が使用している環境でboolが1バイト使うとして話を進める。
>>682は1ビットで十分だっていいたいんだろうけど、
メモリの最小管理単位が1バイトだから、最低でも1バイト使わないとだめ。
C言語で言うビットフィールドを使って、ビット単位で管理するのもありだけど
(そうすれば、1バイトで8個のboolを管理できるよな)、それだと管理のための
メモリが必要になるし、速度面で効率的じゃなくなる。

だから、bool型は1ビットじゃないんだ。
もっとも、処理系によってはビット単位で管理してるのもあるかもしれんが。

684 名前:・∀・)っ-○◎● mailto:sage [2007/03/27(火) 05:05:29 ]
ダウンキャストっていうのかそれ
VC++の最近の実装(っていうかただのtypedef)ではBOOL=charだったような

685 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 05:06:51 ]
>>683
今VC++でsizeof(bool)の値を見たら1だった。

俺はbool型変数はクラスメンバぐらいでしか使わないから、
たとえ1ビットだとしてもアラインメントの影響で恩恵にあずかれないな。

686 名前:・∀・)っ-○◎● mailto:sage [2007/03/27(火) 05:18:54 ]
vector<bool>とか使うと恩恵があるかも

687 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 06:31:31 ]
boolをvectorなんかに入れて一体何に使えというんだ

688 名前:・∀・)っ-○◎● mailto:sage [2007/03/27(火) 06:34:33 ]
何だ知らないのか

www.scl.kyoto-u.ac.jp/scl/appli/appli_manual/SUNWspro/WS6U2/ja/manuals/stdlib/user_guide/general/5_3.htm

689 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 06:50:59 ]
>>688
そういえばそんなもんもあったな。

690 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 07:13:24 ]
>684のすべてが意味不明

691 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:04:00 ]
>>683
速度・効率だけでなく、ビット単位ではポインタとしてメモリアドレスが使えない。

ワードマシンでのchar*みたいにコンパイラが頑張る手もあるが、
bool*だけでなく必然的にvoid*もbool*に合わせなければならず、
void*とbool*だけ他のポインタと異なる大きさになってしまう。
無論規格上は問題ないが、実際問題void*の大きさがほかと異なるなんてやっていられないだろ。

692 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:05:56 ]
関数へのポインタとデータへのポインタの大きさが違うなんて
昔は当たり前だったから、なんてことない。



693 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:14:25 ]
>691
boolを1bitにするなら、sizeof(bool)をどうする気?

694 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:18:46 ]
>>693
1/8

usodakara

695 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:21:03 ]
>>693
それ忘れていたorz

>>684
Windows APIでは、typedef int BOOL; typedef char BOOLEAN;
しかしboolとは関係ない。

696 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:33:40 ]
> typedef int BOOL; typedef char BOOLEAN;

わけわからん >>MS

ATL::CComPtr::operator&()もわけわからんかった。
凶悪。

697 名前:・∀・)っ-○◎● mailto:sage [2007/03/28(水) 01:08:39 ]
>>695
そこは固定じゃない。
なんのtypedefかはSDKのバージョンによってもしょっちゅう変わる。

まあ固定長ビット配列ならstd::bitsetなんかが一番効率いいかな。
1ワードの中に複数要素が詰め込めると何かと便利。

698 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 01:20:35 ]
msdn2.microsoft.com/en-us/library/aa383751.aspx
実際にヘッダでどうなっているかはともかく、文書化されていることは当てにしていいと思う。

ところでBOOLEANはBYTEだったね、すまん。

699 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 02:12:43 ]
>>691
void* と char* は同じ内部表現である必要がある。 (ISO C++ 3.9.2.4)
そのほかメモリモデルやオブジェクトモデルの定義からも char より
小さい型は存在し得ないと言える。

700 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 02:12:52 ]
BOOL
Boolean variable (should be TRUE or FALSE).

shouldって便利な言葉だな

701 名前:・∀・)っ-○◎● mailto:sage [2007/03/28(水) 02:30:37 ]
>>698
msdn2〜はVS2005のドキュメント

702 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 02:38:09 ]
>>701
団子ちゃん、流れとは全然関係ない質問があるんじゃが、
団子ちゃんがC++上級者だと家庭して、団子ちゃんは Boost を
1. あー、ごっつい靴だろ?
2. たまに使う。
3. よく使う。
4. もうあなたなしじゃ生きられないの!
5. あー、アレのほげほげは俺がコントリビュートしてんだよ。
の、どれ?



703 名前:702 mailto:sage [2007/03/28(水) 02:39:35 ]
ちなみに俺は、1 だが、それでも自分を C++ 上級者だと思ってる。

704 名前:・∀・)っ-○◎● mailto:sage [2007/03/28(水) 02:44:25 ]
2かな
ふだんはATL/WTL+STLあと.NET

regexとrandom::mt19937rは便利だね
あとsandboxにあがってたfixed_arrayが便利だから改造して使ってる

705 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 03:06:41 ]
.NEET 使ってんだ。

706 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 07:26:32 ]
>697
おいおい。BOOLの実体がint以外だったことがあるってーの?
WIN16の頃の話じゃねーだろーな。

707 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 09:17:07 ]
>>701
msdn.microsoft.comの時代から698の文書は存在した。
今は英語版のMSDNライブラリオンラインはあちこちmsdn2への転送になっている。

708 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 15:45:05 ]
bool型はC++仕様書ではintと同じバイト数。
でも大手の実装するコンパイラは大抵1バイトしか割り当てないのが普通。
さて、酒飲んで寝るか。もう目が覚めませんように。

709 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 16:11:38 ]
>>708
そんな規定はどこにも無い。

710 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 16:50:25 ]
>>708
嘘吐きはそのまま永眠してなさい。

711 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 18:29:02 ]
1に書いてある内容とまるで裏腹なスレの内容
なんて皮肉だ

712 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 23:37:58 ]
> 我こそはC++プロフェッショナルだという方の書き込みをお待ちしております。

こんなこと書くから、自分でプロだと「思い込んでる奴」ばっかりになるんだよ。



713 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 23:42:49 ]
>>711-712
ここはネタスレなのにお前らときたら…

714 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 16:37:54 ]
>>711-712のような人たちのためのホイホイスレでもあるからいいじゃないか。

715 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 18:52:05 ]
>>711-712は本気で自分がC++上級者だと思って
このスレに降臨なされたのですか

716 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:42:32 ]
スレタイに騙されて覗いてみたら期待してたのと違ったんで
怒りに任せて書き込んでみたんでしょう。

スレ勃てから2年半もたってノコノコやってきて今更な事を書く人ってのは
そういうもんです。

717 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 14:17:33 ]
>>714-716
ここはネタスレなのにお前らときたら…

718 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 14:26:29 ]
もうちょっとためてから反復しないとネタとして面白くないです。

719 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 21:56:50 ]
団子ちゃん以外の人は >>702 で言うと何番?

720 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 22:02:40 ]
特定の部分なら3だが全般的には2だな

721 名前:・∀・)っ-○◎● mailto:sage [2007/03/31(土) 00:22:23 ]
全部使ってる奴がいたらそれはそれで気持ち悪いぞ

MPLとかSpiritとか、いいかげんにしる

722 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 06:16:03 ]
俺4。上級者じゃないけど。MPLとかは流石に可読性的に使えないがな。



723 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 17:01:03 ]
MPLとPreprocessorとSpiritとPhoenixとXpressiveと
LambdaとuBLASとgraphとfilesystemを全部使うアプリを
testでテストするやつこそが4だな。

724 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:33:03 ]
どういう処理をしようとして全部必要になるんだろうか……

725 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 13:19:51 ]
環境非依存で、ミリ秒単位でsleepさせる方法はありませんか?

726 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 14:16:24 ]
>>726
ない。

特定のCPU等に依存していいならなんらかの方法があるだろうが、
どのみちほとんどマシン語のコードになる。

727 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 14:49:56 ]
>>727
ですよね。

728 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 19:01:43 ]
>>727
大丈夫か

729 名前:デフォルトの名無しさん [2007/04/04(水) 20:00:16 ]
>>729
注:私の有意義な発言に対し自分の理解不足を棚に上げ煽り、1行レス
で返す方が多いようですが、そのような方はスレの皆様を混乱させるだけでなく
スレの雰囲気を崩しかねないのでお黙り下さい
また質問者は回答者に知識を披露する場を与える貴重な存在なので、
質問者を見下した回答、あまりにも儀礼を欠いた回答も厳重に禁止いたします。
忙しい中、少ない時間の合間を縫って質問しに来てるわけですので、
その辺ご承知下さい。なお、当方が質問に対して有意義な答えであると
判断した方には評価いたしますので各自よく調べ、よく考え正確な回答をするように。

730 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 23:31:15 ]
まずい餌だな。3点

731 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 08:44:22 ]
>>731
死ねよクズが

732 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:54:40 ]
>>733
死ねカス



733 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:55:12 ]
>>732
お前が死ねカス

734 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 17:02:47 ]
729 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん

735 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 18:59:56 ]
>>731-733
ありきたりのパターン。2点

736 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 22:37:50 ]
かといってこんなことに新鮮味を追求されるのもアレだな

737 名前:デフォルトの名無しさん [2007/04/10(火) 18:46:19 ]
絶対値を求める関数が他の言語では一つしかないのにCではabsとfabsの二つが存在する理由を教えてください。

738 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 19:16:00 ]
その質問をこのスレでする理由を教えてください。

739 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 22:43:33 ]
>>737
> 絶対値を求める関数が他の言語では一つしかない

Fortran なんか4個もあるぞ。(w

iabs(整数) => 整数
abs(実数) => 実数
dabs(倍精度) => 倍精度,
cabs(複素数) => 実数

740 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 22:56:30 ]
CだってC89の時点でabs(int), labs(long), fabs(double)と3個。
後(C95か?)にfabsf(float), fabsl(long double)が加わり5個。
C99ではllabs(long long), imaxabs(intmax_t),
cabs(double complex), cabsf(float complex), cabsl(long double complex)と10個。

勿論C++では、(C++にある型なら)absで多重定義がなされている。

741 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 00:27:51 ]
ここまでの話を総合すると、rubyが一番スマートだな。

742 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:36:45 ]
>>741
というと ruby は絶対値をマイナス値で返す nabs 一個のみとかそんな感じ?



743 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:27:22 ]
オーバーロードしてるから見た目上一個やん

744 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 04:39:04 ]
>>743
マイナスの最大値でオーバーフローするものしかないってこと?

# 戻り値が unsigned なら大丈夫だけど。

745 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 11:07:54 ]
>>737
実行速度を上げるため

746 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 22:35:50 ]
>>744-745
釣りですか、ご苦労様です。

747 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 22:59:30 ]
直観が「突っ込み所だ」と告げたはいいが、スレタイがスレタイだけに
具体的に突っ込んでボロ出す羽目になったらどうしようってのがちょっぴり不安で、
結果こんな感じに落ち着きました、という感じのレスだな。

748 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 23:38:12 ]
>>747
>>747

749 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 02:31:47 ]
たとえば負数が1の補数な処理系では、
INT_MINを放り込んでも、オーバーフローしないよ。

750 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 04:29:20 ]
そうだね。帰っていいよ。

751 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 09:06:05 ]
馬鹿じゃないの?

752 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 09:08:20 ]
泣くなよ



753 名前:デフォルトの名無しさん mailto:sage [2007/04/22(日) 08:47:09 ]
>>688
1998年w

754 名前:デフォルトの名無しさん [2007/05/18(金) 18:12:10 ]
float x=10.0;

exp(x)
とすると、expはfloat型に対応した関数が呼び出されますが、
exp(10.0)
とした場合、double型に対応した関数が呼び出されると考えてよいのでしょうか?

755 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:30:24 ]
ワラタ

756 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 21:39:41 ]
>>754
そうだよ
ちなみにexp(10.0f)とすればfloat版を選べる

757 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 02:39:50 ]
まさかとは思ったが

ここも隔離スレだったか


758 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 02:45:16 ]
>>757
全然そんなことないから、ここから出て行かないでね♪

759 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 03:24:06 ]
>>21
いまさらながら
const string 上級者="俺";
のが上級者っぽいな。

760 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 15:07:07 ]
class 上級者;
typedef 俺 上級者;

761 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 16:31:11 ]
>>760
#define 上級者 ナルシスト
をお忘れですよ。

762 名前:デフォルトの名無しさん [2007/07/05(木) 17:48:21 ]
大抵のコンパイラでC99はスイッチをつけないとコンパイルできないのは何故?




763 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 18:45:42 ]
C++のコンパイラ?
C99がC++に取り込まれるのはC++0x(たぶん09)からだよ。

764 名前:デフォルトの名無しさん [2007/07/05(木) 20:03:32 ]
C++かアセンブリ言語どっちが難しいですか?

765 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 20:43:18 ]
C++

766 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:05:20 ]
アセンブリは面倒なだけで難しいのとはまた違う
技術書を読む大変さはあるけどなー

767 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 21:10:24 ]
マクロアセンブラならまあいける

本当にただのニーモニック→機械語変換だとアドレスの管理を全部自分でやらないといけないから死ねる

768 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 00:21:56 ]
それアセンブラって言わないと思うが...

769 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 00:56:53 ]
DEBUG.EXEだな
あれのアセンブラ機能は貧弱だったな
それでもcom形式ぐらいならなんとか書けちゃったりするが

770 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 12:02:34 ]
FEDCBA98

771 名前:デフォルトの名無しさん [2007/07/11(水) 12:32:08 ]
何の16進かと思ってググったらゲーム改造かよ。
何にしろバイナリ書き換えは趣味の域でなきゃやりたくないな。

772 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 20:44:27 ]
C++上級者(笑)



773 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 20:52:46 ]
三(笑)

                ( *´ω`)ムシャムシャ
                つi'"':
                 `、:_i'
| ┌┐
│ ││             ││   若干食べられてしまったが
| ││             ││   >>772はC++より安く見えることがわかる
| ││             ││
└────────────
 C++上級者(笑)      >>772

774 名前:デフォルトの名無しさん [2007/09/24(月) 07:47:59 ]
defineの代わりにconstを使うよう推奨されているのに、コンパイラのソースを見ると
大量にdefineが使われているのはなぜ???

775 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 09:54:14 ]
もともとCで書かれていたか、
実はCとしてコンパイルするようになっているか、
書いた人間がconst推奨を知らなかったか。

776 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 12:36:23 ]
Cと共用なんだろ。
何を悩む必要がある

777 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 19:44:30 ]
>>774
錯覚が目

778 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 00:10:08 ]
>>774
システムのベンダとユーザは事情も、従うべきルールも違う。
システムヘッダの真似してアンダースコアで始まる名前を使うような人大杉。

引数に渡す定数を参照させるだけのために、
オブジェクトのリンクを強要するDLLなんかありえないし、
他の言語とリンクさせるときや、バイナリ互換性が問題なら、
定数の具体的な値をはっきり公開するしかない。

それに、Cでは配列サイズにconst整数を使えない。


779 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 01:31:32 ]
constって言ったって、ヘッダで初期化子付きの定義を与えるんだから、
DLLなんて関係ないけど、ほかは合っているや。

780 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 03:04:35 ]
>>constって言ったって、ヘッダで初期化子付きの定義を与えるんだから、
プレーンCモードでコンパイルされたときに実体が増殖し放題で
リンクエラーになるからDLLベンダがそれをやったら配慮不足だ。
よく分かってないハード屋寄りのユーザとかが目を回すからな。

このスレ的にはC++コンパイラだとそれができるっていうのは大事だけどな。


781 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 10:10:17 ]


782 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 01:31:51 ]
const だと余計にメモリ消費するからヤなんじゃないの?



783 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 23:21:57 ]
staticにすらば、アドレス参照とかしなければ実体は取り除かれるんじゃないの?
コンパイラの能力にによるだろうけど

784 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 01:50:27 ]
>>783
C++ では const つけた名前空間スコープのオブジェクトはデフォルトで
内部リンケージになる。 static は要らない。

785 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 22:13:19 ]
static const volatile unsigned long long int X;

は意味無しか

786 名前:デフォルトの名無しさん [2007/11/01(木) 04:00:31 ]
インテルコンパイラでループをSSEで計算させようとしているのですが、
コンパイル時に
loop was not vectorized: dereference too complex
というレポートを返してきます。
これは具体的にはどのような問題があるといっているのでしょうか?

787 名前:デフォルトの名無しさん [2007/11/01(木) 17:32:37 ]
>>786
そのままじゃね?
逆参照が複雑過ぎてベクトル化出来なかったお
意味は、その箇所にSSE使えなかったと

ポインタポインタポインタ使ったとか間接的なイテレータ使ったとか?コード見てないからなんとも言えないけど。インテルコンパイラ使ったことないし。

788 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 16:22:42 ]
インテルコンパイラとgccだとやっぱり最適化はインテルの方が上?

789 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:18:26 ]
上。特に、オブジェクト間最適化は凄い。

790 名前:デフォルトの名無しさん [2008/02/24(日) 17:30:31 ]
オブジェクト間最適化って何?

791 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 18:03:39 ]
リンクの段階で最適化かけるんじゃないの

792 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 10:54:39 ]
それならVC8も負けてないぜ。
リンク時間の長さがそれを証明してくれている。



793 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 11:48:43 ]
pgi使え






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<148KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef