comment1, http://genteinmobiliaria.com/accutane.html accutane support group, http://pequenoplumifero.org/retin-a.html retin a acne, http://gatorsbackyard.com/zithromax.html buy zithromax, http://feltsprinting.info/acomplia.html acomplia usa pharmacy, http://genteinmobiliaria.com/metformin.html buy metformin online, http://genteinmobiliaria.com/amoxil.html Prostaphlin, http://premiermax.com/bactrim.html bactrim, http://feltsprinting.info/viagra.html viagra side effects, http://pequenoplumifero.org/acomplia.html is acomplia effective?, http://genteinmobiliaria.com/viagra.html viagra lawsuit, http://gatorsbackyard.com/nolvadex.html nolvadex xt, http://genteinmobiliaria.com/bactrim.html cotrimoxazole, http://feltsprinting.info/retin-a.html buy retin a online, http://pequenoplumifero.org/prednisolone.html Medicort, http://premiermax.com/nexium.html nexium, http://premiermax.com/lexapro.html generic lexapro, http://pequenoplumifero.org/zimulti.html rimoslim, http://premiermax.com/rimonabant.html acomplia diet rimonabant smoke, http://feltsprinting.info/diflucan.html buy diflucan onlne, http://noyoyoeconomics.com/nexium.html gallbladder and nexium, http://premiermax.com/levaquin.html levaquin, http://noyoyoeconomics.com/rimonabant.html rimonabant short term, http://noyoyoeconomics.com/lipitor.html lipitor, http://genteinmobiliaria.com/cymbalta.html 60mg cymbalta, http://pequenoplumifero.org/antabuse.html antabuse liver, http://premiermax.com/viagra.html is viagra addictive, http://genteinmobiliaria.com/lipitor.html lipitor generic, http://genteinmobiliaria.com/clomid.html cheap clomid prescription, http://pequenoplumifero.org/cytotec.html cytotec 100mg, http://premiermax.com/tetracycline.html tetracycline online, http://gatorsbackyard.com/acomplia.html how effective acomplia, http://noyoyoeconomics.com/zithromax.html apo-azithromycin, http://feltsprinting.info/cytotec.html cytotechnology hospital job, http://premiermax.com/propranolol.html propranolol, http://pequenoplumifero.org/cialis.html generic pharmacy cialis, http://gatorsbackyard.com/cialis.html no prescription cialis, http://gatorsbackyard.com/lipitor.html lipitor drug, http://genteinmobiliaria.com/tetracycline.html tetracycline tooth, http://feltsprinting.info/bactrim.html septra suspension, http://genteinmobiliaria.com/lexapro.html lexapro, http://genteinmobiliaria.com/cialis.html cialis, http://gatorsbackyard.com/nexium.html nexium,
[[メモ]]

メモに全部突っ込んで書いていたら,まさかの「サイズがデカすぎて処理できませんエラー」がサーバから返されてしまった.
しょうがないので,C/C++系のトラブルだけこっちに移すことにした.
#contents

*argcとargv [#v7a9a87c]
 int main(int argc, char **argv)
-が一般的な宣言
-''arg''uments ''c''ount(argc), ''arg''uments ''v''alue(argv)と覚えよう

*sizeof [#o204777d]
-sizeof()の返り値
|OS|>|>|~Windows XP|>|>|>|~FreeBSD|
|コンパイラ|VS 2005|.NET 2003|VS6|gcc(C)|gcc(C++)|cc(C)|cc(C++)|
|char|1|1|1|1|1|1|1|
|unsigned char|1|1|1|1|1|1|1|
|short|2|2|2|2|2|2|2|
|int|4|4|4|4|4|4|4|
|long int|4|4|4|4|4|4|4|
|float|4|4|4|4|4|4|4|
|double|8|8|8|8|8|8|8|

*ダイアログをMFCダイアログから呼び出すと反応が異様に遅い. [#ocd95d1d]
-C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700\msvcr80.dll
-を読み出そうとして遅くなってるっぽ.
-何故,読み出すようになったのか・・・それだけが分からないよ.

[[:未解決]]

*CTimeを使わずに時間を取得する [#r3754c09]
-time.hを使う
 struct tm *timeinfo;
 time_t	timer;
 timer    = time(NULL);
 timeinfo = localtime(&timer);
 strftime(buffer, length, "%m%d-%H%M%S", timeinfo);
-もっと短い時間(ミリ秒とか)を取得する場合は[[GetTickCount()>時間の計測]]とかを使うべし.

*floatとdoubleの違いについて [#l55831b8]
-http://homepage1.nifty.com/herumi/prog/prog90.html 参照

*C++のprivateなポインタ変数をreturnで外に出す [#g9842975]
-クラスでprivateで宣言したポインタ変数を,return でクラスの外に出すと,何も問題なく編集出来てしまう.
-え,良いんですか?
#geshi(c++,number){{
#include <stdlib.h>
#include <stdio.h>

class Hoge{
        public:
                Hoge(){memory = new int;};
                ~Hoge(){delete memory;};
        private:
                int* memory;
        public:
                int* a(void){return memory;}
};

int main(int argc, char **argv){
        Hoge *a = new Hoge();
        int* b;
        b = a->a();  //←ここで問題なくポインタを取得できる
        *b = 5;     //←ここで変更できてしまう
        return 0;
}
}}
-private変数をreturnする段階でアウトなんじゃね?と思うんだが,コンパイラも実行時エラーも出ない.
-const int test[] = {1,1,1};とかは変更利かないんだけれどな.
-一応Visual C++ 2005とg++で確認したんだが,どうもC++の規則っぽい

*enumの定義方法 [#ve588d6d]
-いっつも忘れるので自分用のmemo
 enum 型 {値1, 値2, ... 値N };
-Example
 enum the_sin {PRIDE, GLUTTONY, GREED, SLOTH, WRATH, ENVY, LUST};

*実行時にMSVCR80.DLL (MSVCR80D.DLL?) が無いと言われる [#ge232471]
-OpenCVのデバッグ用ライブラリとリンクした後,実行時に言われた.
-以下の2点を修正
--highguid.libを外した
--highguid.libをビルドしなおし
-あとcxcored.libをリンクすると,heapがどうの,と文句を言われた.

ジャンル[[:OpenCV]][[:未解決]]

*fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。 [#fffda5d4]
-プリコンパイル済みヘッダが定義されてるプロジェクトに自身で作ったファイルを追加するとこうなる
-MFCのダイアログベースのプロジェクトの場合,''stdafx.h''なるプリコンパイル済みヘッダーが作られる
-cppファイル側で,ヘッダファイルをincludeする前に
 #include "stdafx.h"
 #include "xxxx.h"
-としてやればエラーは回避できる
-プロジェクトのプロパティで「''プリコンパイル済みヘッダを利用しない''」と定義するのも1つの手

ジャンル[[:Visual Studio]]

*fatal error C1020: 予期しない #endif です。 [#med01e84]
-http://www004.upp.so-net.ne.jp/ya_chari/ 参考
-"stdafx.h"をインクルードすると,それ以前のプリプロセッサ行は無視されるらしい.
-よって,下記のようにWindowsの場合はインクルードして,それ以外のOSの場合はしないでと言うコードは失敗する
 #ifdef _WIN32
 #include "stdafx.h"
 #endif
-この場合はstdafx.hへのincludeは諦め,「''プリコンパイル済みヘッダを利用しない''」と定義する

ジャンル[[:Visual Studio]]

*fatal error C1033: [#tdd35f4e]
-おそらくテンポラリなエラー
-Visual Studioでこれが起きる場合,IntelliSenseの更新とかぶって編集が出来ていない可能性があり.

ジャンル[[:Visual Studio]]

*error C2062: 型 'char' は不要です。 [#xc0bd5af]
-smallと言う変数名は予約語
-RpcNdr.hを(どういう経緯でincludeしたかは知らないが)includeすると,
 #define small char
-とされている.
-と言うわけで,変数名smallを使用するとcharを宣言したことになり,上記のエラーが発生する.
-レアなエラーかも.

ジャンル[[:Visual Studio]]

*error C2064: 引数を取り込む関数には評価されません。 [#gf363b3a]
-変数と関数で同じ名前を使用すると発生する
-変数が優先されるらしい.
 time_t time;
 time = time(NULL); //関数のtimeが正しく取り扱われない

ジャンル[[:Visual Studio]]

*error C2065: 'M_PI' : 定義されていない識別子です。 [#p09aa339]
-M_PIはmath.hで定義されてる円周率
-しかし,math.hをincludeしただけではdefineされない
-_USE_MATH_DEFINESをdefineする必要がある
-ちなみにVC++6では定義されてないとのうわさ.
-参考:http://www.m--takahashi.com/bbs/pastlog/10200/10130.html

 #define _USE_MATH_DEFINES  // <-これが一番大事♪
 #include <math.h>
 int main(){
   printf("%f\n", M_PI);
 }

ジャンル[[:Visual Studio]]

*error C2381: 'exit' : 再定義 ; __declspec(noreturn) が異なります。 [#sbb9a68f]
-[[OpenGLとOpenCVの共存>OpenGLとOpenCVの共存#o909b031]]参照

*error C3861: 'min'識別子が見つかりませんでした [#ua5dc299]
-'max'も同じく
-Visual Studio 2005からVisual Studio 2008に変更したら起きた
-どうやら,min,maxは非標準のマクロだったらしい.
-std::min, std::maxでリプレースするのが妥当かと.
-CF:[[C言語関係掲示板>http://www2.realint.com/cgi-bin/tarticles.cgi?pointc+32866]]

*error D8016 : コマンド ライン オプション '/GL' と '/ZI' は同時に指定できません [#w8355d09]
-[[メモ#Visual Studio .NETでプロファイラを使う方法>メモ#da453f4d]]参照

ジャンル[[:Visual Studio]]

*warning C4819:ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 [#e785e7d6]
-OpenCVをVisual Studio 2005で利用するとこのwarningが出る.
-cv/cvcompat.h が原因.
-Visual Studio 2005でcv/compat.hを編集(一文字入力してから消去)してファイルを保存するとwarningが消える.
-参考:http://chihara.naist.jp/opencv/?Visual%20C%2B%2B%202008%20Express%20Edition#ca99c600

ジャンル[[:OpenCV]][[:Visual Studio]]

*warning LNK4098: defaultlib '*****' は他のライブラリの使用と競合しています。 [#l95c8157]
-プロジェクト->リンカ->コマンドライン->追加のオプションに/NODEFAULTLIB:****.libを追加
-参照:[[http://d.hatena.ne.jp/kasei_san/20080109/p1]]

ジャンル[[:Visual Studio]]

*0xc0150002 アプリケーションを正しく初期化できませんでした [#y16edcfc]
-OpenCV 1.1pre1にした途端,このエラーが出る人いるみたい
-[[Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86)>http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&displaylang=ja]]をインストールすると直るみたい.
--http://d.hatena.ne.jp/piy/20081130/1228020473
--http://d.hatena.ne.jp/cvcvcv/20081127/1227780876
--http://naruhodo.nazo.cc/modules/plzXoo/index.php?action=detail&qid=247
--あたりを参考にした
-ミソは,VS .NET 2005 SP1+Redistribution Packageが必要

ジャンル[[:OpenCV]][[:Visual Studio]]

*OpenCV 1.1でプロセス(プログラム)が終了しなくなる [#n127daa9]
-以下あたりを参照
--[[Yusuke Sugano/ Blog  &raquo; OpenCV 1.1pre1>http://www.hci.iis.u-tokyo.ac.jp/~sugano/archives/96]]
--[[OpenCV1.1のcvLoadimage|hidelab>http://ameblo.jp/hidelab/entry-10159096282.html]]
-SHBrowseForFolder APIとOpenCV 1.1 pre1を使うとプロセスが正常に終了できなくなるらしい.
-聞いただけで,使ったこと無いので原因はつかめてない.
-'Invalid allocation size'とか出るみたい

ジャンル[[:OpenCV]][[:Visual Studio]][[:未解決]]

*関数を使用しただけで,突然大量の「型が定義されていません」エラーが発生する [#ga861571]
-KLTの実装にて起きた.
-原因というより,C言語で起きてたので,仕様とも言うべき事態.
-KLTの本体はC言語で書かれている割に,メインプログラムはC++でコンパイルできる.
-よって,メインプログラム内の適当な場所で関数をコールすると,それより後で宣言が行われていた場合,宣言が全てエラーになる.
-初歩的な・・・

ジャンル[[:Visual Studio]]

*Visual Studio .NETでプロファイラを使う方法 [#da453f4d]
-Professional Edition のみ?
-VC++の場合(多分ほかも同じだと思うけれど)
+ビルド(B)→ガイド付き最適化のプロファイル(P)→インストルメント(I)を実行
--リビルドが行われる
--Debugモードだとerror D8016が出たので無理かも
+ビルド(B)→ガイド付き最適化のプロファイル(P)→インストルメントまたは最適化されたアプリケーションの実行(R)
--アプリケーションが起動するので,適当に動かす(最適化させたい動作がベスト)
--アプリケーションを終了する
+ビルド(B)→ガイド付き最適化のプロファイル(P)→最適化(O)
--実行した情報がカウントして統計される
+ツール(T)→Visual Studio 2005 Command Promptを実行
+コマンドプロンプト上でコマンドを実行
 C:\Program ... \VC\bin>pgomgr /summary XXXXXX\apli.pgd 
--XXXXXXにはアプリのReleaseフォルダへのパス
--apliはソリューションの名前
+これでこんな表示が出るはず.長いのでリダイレクト推奨
 Microsoft(R) Profile Guided Optimization Manager 8.00.50727.762
 Copyright (C) Microsoft Corporation. All rights reserved.
 
 PGD ファイル: \XXXXXXXX\apli.pgd  11/20/2008 12:54:52
 モジュールの数: 1  関数の数: 389  Arc の数: 1248  値の数: 18
 
 静的命令: 11054  基本ブロック: 1743  平均 BB サイズ: 6.3
 動的命令: 327756730
 
                                      entry  static       dynamic     %     run
 関数名                               count   instr         instr  total   total
 tSubtractAverage                    307200      93     134351620   41.0   41.0
 shift                              1603470      90      44897160   13.7   54.7
 C2TSI::getInnerProductMap              240     181      35021113   10.7   65.4
 tLowPass                            153600     322      34713600   10.6   76.0
 tPadZero                            307200     122      32070160    9.8   85.8
 CTSI::SearchStartAndEnd                960     118      31556620    9.6   95.4
 CTSI::extractRawColumn              307200      29       8908800    2.7   98.1
 CTSI::getNormMap                       480      58       3699360    1.1   99.2
 CTSI::getTimeSpaceImage               1442     357        977770    0.3   99.5
 _cvGetRow                            40560       9        365040    0.1   99.6
 CTSI::loadImageFromImageFile         20164      23        302460    0.1   99.7
 CTSI::loadImageFromImageFile         20164      11        221804    0.1   99.8
--右から3列目のdynamic instrが実行回数
--右から2列目の%totalがその関数が実行に要した時間
--一番右のrun totalが実行時間の累計和
+次回ビルドするときに何か言われることがあるが,プロファイラをしないなら,リビルドを行ってよい.

ジャンル[[:Visual Studio]]

*FILE*構造体 [#p34ae5f5]
**int fseek(FILE *fp, long offset, int whence); [#edbb9329]
-whenceからoffsetバイト分移動したところに移動する
-whenceは,
--ファイルの先頭を表すSEEK_SET
--現在位置であるSEEK_CUR
--終端位置であるSEEK_END
-のどれか
**void rewind(FILE *fp); [#y5e9870c]

**FILE* fopen(const char *filename, const char *mode); [#iddf74d6]
-filenameとmodeの順番に注意!!

*コード要素''***''が読み取り専用であるため、追加と削除操作は出来ません [#m57ef497]
-Visual Studio 2005で発生
-MFCダイアログボックスにボタンを追加し,イベントハンラを追加しようとしたら発生
-原因はncbファイルの破損っぽい.
-http://blogs.yahoo.co.jp/dpdtp652/837997.html 参照
-ncbファイルはちなみにintellisenseの情報を保存したファイルっぽい.
-ソリューションを1度閉じた後,ソリューションと同じフォルダに存在する''プロジェクト名.''ncbファイルを削除
-再びソリューションを開くと問題が解決している

ジャンル[[:Visual Studio]]

*プロジェクトにクラスの追加を行うとVisutal Studioがフリーズする [#ha616bf4]
-メニューからクラスの追加操作を行うだけでVisual Studioがフリーズする.
-原因は[[コード要素が読み取り専用..>メモ#ufcd163d]]と類似
-ncbファイルを削除すること

ジャンル[[:Visual Studio]]

*CRとLF [#ya5e367e]
-CRが\nであり,Mac OS(9まで)などで使われていた改行コード
-LFが\rであり,Unix系のOSなどで使われている改行コード
-WindowsではCR+LFであり,\n\rで表される


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS