2014年12月2日火曜日

【備忘録】C++,C#の特徴とdllについて

C++の特徴
マルチパラダイム 手続き型、オブジェクト指向、ジェネリック 等が出来る
書き方によっては結構高速に動作する
ポインタが使える
C言語の互換性が多少ある
組み込み開発で使われている

C# の特徴
include文が不要
try-catch-finallyが使える
継承機能が豊富
メモリに対するコーディングを安全に書きやすい ガーベージコレクション


VB、VC、C#等すべてをサポートするのは「stdcall」
CとC++だけをサポートするのは「cdecl」
C++クラスは「thiscall」が自動で利用されるため、Cから呼び出せない
自分の中で閉じる関数は速度を理由に「fastcall」を利用しても良い

linuxとWindowsのdll及びlib*****.so.****の違いについて
http://www.glamenv-septzen.net/nifty/others/computer/linux_ldd01.html

windowsとlinuxでライブラリに関する考え方は異なる
そのため、共有することは難しいと考えたほうが良い。(ソースコードはもちろん共有できるが、ライブラリファイルは共有がむずかしいという意味)

mfc dllを作成すれば、後はリンクを調整すればOK。
dllの登録をする。
外部公開用のヘッダファイルを作成し、class __declspec(dllexport) クラス名で公開用クラスを宣言する。
後は、クラス宣言場所と利用場所で、上記ヘッダファイルをインクルードする。

0 件のコメント:

コメントを投稿