Lua 呼叫C 出現的問題

2021-07-23 04:35:17 字數 972 閱讀 1449

因為演算法測試做了一答應微秒的**。但是在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 ...