拾ってきたソースをうまくビルド出来ない
正確に言うと、ソースの言語がC++なのかC#なのかわかりません。
おそらくC++だろうと思ってるのですが・・・。
#include <stdio.h>
#include <string.h>
#include <windows.h>
int Time[5]={0};
DWORD GetRegInt(LPCTSTR lpszSection, LPCTSTR lpszEntry, DWORD dwDefault)
{
BOOL bResult = FALSE;
DWORD dwBuffer = 0;
HKEY hOpenKey;
if(RegOpenKeyEx(HKEY_CURRENT_USER, lpszSection, 0, KEY_EXECUTE, &hOpenKey) == ERROR_SUCCESS) {
DWORD dwType;
DWORD dwBufferSize = sizeof(DWORD);
if(RegQueryValueEx(hOpenKey, lpszEntry, 0, &dwType, reinterpret_cast<LPBYTE>(&dwBuffer), &dwBufferSize) == ERROR_SUCCESS) {
bResult = TRUE;
}
RegCloseKey(hOpenKey);
}
if(!bResult) {
dwBuffer = dwDefault;
}
return dwBuffer;
}
void GetRegString(LPCTSTR lpszSection, LPCTSTR lpszEntry, LPCTSTR lpszDefault, LPTSTR lpBuffer, DWORD nSize)
{
BOOL bResult = FALSE;
HKEY hOpenKey;
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpszSection, 0, KEY_EXECUTE, &hOpenKey) == ERROR_SUCCESS) {
DWORD dwType;
DWORD dwBufferSize = nSize;
if(RegQueryValueEx(hOpenKey, lpszEntry, 0, &dwType, reinterpret_cast<LPBYTE>(lpBuffer), &dwBufferSize) == ERROR_SUCCESS) {
bResult = TRUE;
}
RegCloseKey(hOpenKey);
}
if(!bResult) {
lstrcpyn(lpBuffer, lpszDefault, nSize);
}
}
(文字制限を越えてしまったので、下半分を消しました)
とりあえず、なにはともあれ試しにビルドしてみようと思い、bcc55でやってみました。
結果、.exeファイルと、.objともう一つ(名前忘れた)ができて、うまくできたかと思い、起動してみたのですが、DOSが開いてすぐ閉じてしまいます。
元々、このソースは既にビルドされた.exeファイルと一緒にアップロードされてたので、うまくいったらこういう動作をするっていうのは分かってたので、うまくビルドできてないのでしょう・・・。
そこで考えられる原因を考えたら、「言語が違う」これしか思いつきませんでした。
C#なのかもしれないと思い、Microsoft Visual C# Express Editionでも試してみましたが、これもうまくいかず、google先生に頼ってみましたが行き詰ってしまいました。
質問したい点を挙げます。
・この言語はC++でしょうか?もしくはbcc32でコンパイル可能でしょうか?
・もし不可能な場合、どのコンパイラを使用すればうまくいくでしょうか?(できればフリーソフトでやりたいです)