「トップページ/CPPCLI/ETC」の編集履歴(バックアップ)一覧はこちら
「トップページ/CPPCLI/ETC」(2007/11/26 (月) 10:13:19) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
|&big(){いろいろ}|
#contents()
----
//------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
/// <summary>「概要」を記述する</summary>
/// <remarks>「解説」を記述する</remarks>
/// <param name="arg">>メソッドの「引数」の説明を記述する</param>
/// <returns>メソッドの「戻り値」の説明を記述する</returns>
/// <newpara>書式設定。「概要」、「解説」、「戻り値」の記述の中に「段落」を作る</newpara>
//===<< END OF FILE >>===========================================================================
----
*DLLを作成するとき、インポートライブラリが作成されない?
__declspec(dllexport)がひとつもないと、作成されない。
----
*配列の確保
array<int>^ intArray = gcnew array<int>(20);
----
*マネージド
|アンマネージド|マネージド|
|new|gcnew|
|*|^|
|&|%|
|null|nullptr|
interior_ptr<int>
pin_ptr<int> 一時的にアドレスを固定する
----
*プラットホームSDKのインストール
オプション→プロジェクトとソリューション→Visual C++フォルダ
-Ececutableファイル C:\Prog....\Microsoft Platform SDK\Bin
-Includeファイル \include
-Libraryファイル \lib
----
*インクルードパスを追加するには
プロジェクト→プロパティ→C/C++全般→追加のインクルードディレクトリ
※相対パスで指定しておいたほうがよい。
----
*アンマネージコードをコンパイルするには
*インラインアセンブラを使用するには
メニューの、プロジェクト→プロパティ→構成プロパティ
共通言語ランタイムサポートを、純粋MSIL共通言語サポート(/clr:pure)から
共通言語サポート(/clr)に変更する
----
*多重インクルードの抑制
よくヘッダーファイル先頭で、
#ifndef __XXX_H
#define __XXX_H
// 中身
#endif
みたいに書きますが、Visual C++方言では、
#pragma once
の1行で済みます。
|&big(){いろいろ}|
#contents()
----
//------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
/// <summary>「概要」を記述する</summary>
/// <remarks>「解説」を記述する</remarks>
/// <param name="arg">>メソッドの「引数」の説明を記述する</param>
/// <returns>メソッドの「戻り値」の説明を記述する</returns>
/// <newpara>書式設定。「概要」、「解説」、「戻り値」の記述の中に「段落」を作る</newpara>
//===<< END OF FILE >>===========================================================================
----
*enumをループで回す
C++/CLIではこう書くのが一般的っぽいです。
enum class Fruit {
apple, orange, cherry
};
array<String^>^ a = Enum::GetNames( Fruit::typeid );
for each ( String^ s in a) {
Fruit^ f = (Fruit)Enum::Parse(Fruit::typeid, s);
;
}
ちなみにC++では、こんな書き方を見つけました。
[[偏見プログラマの「語り」!様>http://blog.goo.ne.jp/akatoza]]より転載です m(_ _)m
enum Fruit {
apple, orange, cherry
Fruit_size, // 必ず最後尾+1になる
Fruit_null=0
};
inline Fruit& operator++( Fruit& v) {
return v = static_cast<Fruit>(static_cast<int>(v)+1);
}
for (Fruit f = Fruit_null; f< Fruit_size ; f++ ) {
;
}
----
*DLLを作成するとき、インポートライブラリが作成されない?
__declspec(dllexport)がひとつもないと、作成されない。
----
*配列の確保
array<int>^ intArray = gcnew array<int>(20);
----
*マネージド
|アンマネージド|マネージド|
|new|gcnew|
|*|^|
|&|%|
|null|nullptr|
interior_ptr<int>
pin_ptr<int> 一時的にアドレスを固定する
----
*プラットホームSDKのインストール
オプション→プロジェクトとソリューション→Visual C++フォルダ
-Ececutableファイル C:\Prog....\Microsoft Platform SDK\Bin
-Includeファイル \include
-Libraryファイル \lib
----
*インクルードパスを追加するには
プロジェクト→プロパティ→C/C++全般→追加のインクルードディレクトリ
※相対パスで指定しておいたほうがよい。
----
*アンマネージコードをコンパイルするには
*インラインアセンブラを使用するには
メニューの、プロジェクト→プロパティ→構成プロパティ
共通言語ランタイムサポートを、純粋MSIL共通言語サポート(/clr:pure)から
共通言語サポート(/clr)に変更する
----
*多重インクルードの抑制
よくヘッダーファイル先頭で、
#ifndef __XXX_H
#define __XXX_H
// 中身
#endif
みたいに書きますが、Visual C++方言では、
#pragma once
の1行で済みます。