因為演算法測試做了一答應微秒的**。但是在lua呼叫c++的時候出現了一些問題:
下面是**:
luatil.h
#pragma once
class
lautil ;
lautil.cpp
#include "lautil.h"
#include "cocos2d.h"
#include
#include
#include
#if !defined(_winsock2api_) && !defined(_winsockapi_)
struct timeval
;#endif
static
int gettimeofday(struct timeval* tv)
now;
getsystemtimeasfiletime(&now.ft);
tv->tv_usec = (long)((now.ns100 / 10ll) % 1000000ll);
tv->tv_sec = (long)((now.ns100 - 116444736000000000ll) / 10000000ll);
return (0);
}long
long lautil::getcurmicrotime()
1.第乙個bug:寫標頭檔案的時候剛開始沒有宣告public,一直預設private··,結果使用genbendings生成出來的auto檔案一直沒有getcurmicrotime()這個函式!
2.**已經沒有錯了,但是編譯的時候說getcurmicrotime() 這個函式沒有實現,找不到。但是兩個檔案已經放入了class資料夾下。 結果原因是沒有匯入到vs專案當中,所以vs不會去編譯cpp檔案。即使你手動放入到了class資料夾下。
這樣就可以在lua中輸出以微秒為單位的數值。
C 呼叫C dll出現的問題。
問題描述 對 pinvoke 函式 winform應用 winform應用.form1 add 的呼叫導致堆疊不對稱。原因可能是託管的 pinvoke 簽名與非託管的目標簽名不匹配。請檢查 pinvoke 簽名的呼叫約定和引數與非託管的目標簽名是否匹配。問題解決 新增屬性 例如 dllimport ...
Lua呼叫C 常見問題
1不是有效的win32應用程式 出現原因 32 bit的dll和64 bit的程式混用。如32位dll呼叫64位dll。解決方案 使用統一位數的程式。找不到指定的程式過程 出現原因 使用c 時,需要dllexport和extern c 關鍵字 解決方案 程式集中使用dllexport和extern ...
lua與C(一) C呼叫lua
lua和c有兩種關係 一種是在lua中呼叫c的函式,c稱為庫 一種是c中呼叫lua,c就稱為應用程式 此時c中包含了lua的直譯器 c 部分 注意在c 中,通常要把lua的一些標頭檔案定義在extern c 中,因為他們是c語言實現的。1.作為應用程式呼叫lua char buffer print ...