DLLを実行中(run time)で呼び出す練習で以下のプログラムを書きました。
Visual C++ 2012です。
以下でビルドすると
'HINSTANCE' : 定義されていない識別子です。 というエラーメッセージがでます。
そこで、#include <DxLib.h>が必要だとどこかに書いてあったので入れてみると
'#include <DxLib.h>': プリコンパイル済みヘッダーの使用を検索中にスキップされました
とういエラーメッセージとなります。
実際、PC内でDxLib.hを検索しても見つからないのですが
これを動かす、またはDLLを呼び出すにはどうしたらよいのでしょうか?
#include <stdafx.h>
//#include <DxLib.h>
#define STRICT
int function1();
int _tmain(int argc, _TCHAR* argv[])
{
function1();
}
int function1()
{
HINSTANCE hMyLib;
PTESTFUNC fpTestFunc;
hMyLib = LoadLibrary( "dll1.dll");
if (hMyLib) {
fpTestFunc = (PTESTFUNC)GetProcAddress(hMyLib, "TestFunc");
for (int i = 0; i <=9000; i++) {
int x = (*fpTestFunc)(i, i + 10);
printf("result = %d,%d,%d\n", i , i + 10, x);
}
}
FreeLibrary(hMyLib);
break;
}
No.4ベストアンサー
- 回答日時:
>私は単にDLLの利用法を学習中なだけなのですが、
なら、DxLibは関係ありません。
>windows.hから入るとは?何が何に入ったのでしょうか?
>(とぼけた質問のようですみません)
>また、何を記述することになるのでしょうか?
windows.h内、またはwindows.hからインクルードされているヘッダ内にHINSTANCEの定義があります。
stdafx.hのヘッダ内にwindiws.hのインクルードを追加して下さい。
ただし、VS2012辺りになると
#include <windiws.h>
だけで済むかどうかは判りません。
他にもdefine定義が必要になるかも知れません。
ありがとうございました。
windows.hをインクルードして、無事動かすことができました。
といっても正常に動かないので、別途質問させていただきます。
No.3
- 回答日時:
何のためにDXlibを使うのかわかりませんが
dxlibは以下のところにあります。
http://dxlib.o.oo7.jp/dxdload.html
利用方法は以下のところです
http://dxlib.o.oo7.jp/dxuse.html
No.2
- 回答日時:
>そこで、#include <DxLib.h>が必要だとどこかに書いてあったので入れてみると
それはDxライブラリのヘッダーでしょう。
DirectXをラッパーしたライブラリ…でしたかね?
自分でインストールしていなければ入っているわけがありません。
# VS入れれば勝手に入ってくれるモノではありません。
>'HINSTANCE' : 定義されていない識別子です。
windows.hから入ったかと思いますが…。
>#include <stdafx.h>
とすると、stdafx.cppとかその辺りファイルに記述することになるかと。
https://so-zou.jp/software/tech/windows-app/win3 …
ありがとうございます。
まずは、自分で入れるところからやってみます。
以下はどのようなことをおっしゃっているのでしょうか?
windows.hから入るとは?何が何に入ったのでしょうか?
(とぼけた質問のようですみません)
また、何を記述することになるのでしょうか?
~~~~~~~~~~~~~~~~~~~
windows.hから入ったかと思いますが…。
>#include <stdafx.h>
とすると、stdafx.cppとかその辺りファイルに記述することになるかと。
https://so-zou.jp/software/tech/windows-app/win3 …
No.1
- 回答日時:
ありがとうございます。参考にしてみます。
それにしても、Dxライブラリとはゲーム作りが目的とのこと。
私は単にDLLの利用法を学習中なだけなのですが、
ゲーム用のライブラリがDLLの基本の勉強に必要
ということなんでしょうかね。不思議です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ハンドルされていない例外が発...
-
2重定義って??
-
VB 関数
-
C++でboolにintの値を代入する...
-
構造体の宣言でエラーが出ます。
-
C言語のreturnの使い方
-
C言語にてsin,cosは何?
-
DWORDの実際の型は何でしょうか
-
配列を用いない最大値の求め方
-
エラー「invalid conversion fr...
-
C++のfor文について
-
VC6でlong longでエラー?
-
C言語の副作用に関する未定義
-
visualstudio C# テキストボッ...
-
変数の型を定義しなかった場合...
-
C言語エラーの解決法教えてくだ...
-
[C++]継承したクラスのコンスト...
-
2÷3などの余りについて
-
C言語で%を使わない余りの出し方
-
比較回数と交換回数表示について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DWORDの実際の型は何でしょうか
-
visualstudio C# テキストボッ...
-
2重定義って??
-
long型の定数の末尾にLを付ける...
-
C++のfor文について
-
typedef enumの使い方を教えて...
-
関数の実体定義にヘッダファイ...
-
変数の型を定義しなかった場合...
-
ハンドルされていない例外が発...
-
C++でboolにintの値を代入する...
-
main.c:7:43: warning: implici...
-
プログラムの中で別のmainを呼...
-
【#define】 defineで定義した...
-
void func( void )について
-
構造体の要素すべてに対する四...
-
構造体の宣言でエラーが出ます。
-
C++の(左辺値)参照を参照渡し
-
main()とint main(void)の違い
-
intとINTの違いは?
-
DLLでLIBファイルが作成されない
おすすめ情報