バックグラウンド:
私のアプリケーションはポータブルで小型でなければならないため、CRT なしで出荷されます。
問題:
Windows XP の仮想マシンでアプリケーションを実行すると、CreateProcess()
関数が失敗します。CRTを使用せずに を表示GetLastError()
DWORD
する必要があります。MessageBox()
sprintf()
プログラムに関数を手動で実装して、エラーの型を取得するために型を関数に表示するにはどうすればDWORD
よいchar buffer
のでMessageBox()
、問題を解決できますか。
私は自分のmemset()
機能をそのように実装しました
extern "C" void * __cdecl memset(void *, int, size_t);
#pragma function(memset)
void * __cdecl memset(void *pTarget, int value, size_t cbTarget) {
unsigned char *p = static_cast<unsigned char *>(pTarget);
while (cbTarget-- > 0) {
*p++ = static_cast<unsigned char>(value);
}
return pTarget;
}
sprintf()
カスタム関数の実装方法がわからない
ありがとうございました