#「続行するには何かキーを押してください . . .」
「プロパティ」
->「リンカー」
->「システム」
->「サブシステム」
->「コンソール(/SUBSYSTEM:CONSOLE)」
#strcpyとか使いたい。
「プロパティ」
->「C/C++」
->「全般」
->「SDLチェック」
->「いいえ」
#IntelliSense エラーレポートの無効化
「ツール」
->「オプション」
->「テキストエディタ」
->「C/C++」
->「詳細」
->エラーレポートの無効化
#SIMDを使いたい。
「プロパティ」
->「C/C++」
->「コード生成」
->「拡張命令セットを有効にする」
-> 「Advanced Vector Extensions」(ヘッダファイルはimmintrin.h)
#CUDAを使いたい。
プロジェクトの「プロパティ」
->「ビルドのカスタマイズ」
->「ビルドカスタマイズファイル」
-> CUDAにチェック
プロジェクトの「プロパティ」
->「C/C++」
->「全般」
-> 追加のインクルードディレクトリ
$(CUDA_PATH)\include, $(NVCUDASAMPLES_ROOT)\common\inc
->「CUDA C/C++」
->「Device」
-> Code Generation
compute_30,sm_30
とか
->「リンカー」
->「入力」
-> 追加の依存ファイル
cudart.lib
cuファイルの「プロパティ」
->「全般」
->「項目の種類」
-> CUDA C/C++
警告を抑制
CUDAコンパイラ(nvcc)でVisualStudioコンパイラ(cl)の特定の警告を無効にする方法
メモリチェック
#include <stdlib.h>
#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>
#define new new(_NORMAL_BLOCK, __FILE__, __LINE__)
int main()
{
::_CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF | _CRTDBG_ALLOC_MEM_DF);
//
_CrtDumpMemoryLeaks();
return 0;
}
ベンチマーク
#include <windows.h>
int main(int argc, char**argv)
{
LARGE_INTEGER f, start, finish;
memset(&f, 0x00, sizeof(f));
memset(&start, 0x00, sizeof(start));
memset(&finish, 0x00, sizeof(finish));
QueryPerformanceFrequency(&f);
QueryPerformanceCounter(&start);
proc();
QueryPerformanceCounter(&finish);
int t = (int)((finish.QuadPart - start.QuadPart) * 1000 / f.QuadPart);
printf("%d msec\n", t);
return 0;
}