【2、公升級 c# dll】
總體來說就是按照提示進行**介面替換,如果**裡有中文,可能會出現一些編碼問題,這時手動修復一下就好。
【3、公升級 c++ dll】
c++ dll在unity4.7的時候是32bit的,需要公升級到64bit,因此需要按照x64的配置重新編譯。
*這裡有個坑點:32bit的pointer(指標)是4bytes,64bit的是8bytes,在一些記憶體對齊的地方,會很坑爹的補上4bytes。
舉例:struct a
32bit: sizeof(a) = 4 + 4 = 8 bytes
64bit: sizeof(a) = 8 + 4 + (4) = 16 bytes
struct b : a
32bit: sizeof(b) = 4 + 4 + 4 + 4 = 16 bytes
64bit: sizeof(b) = 8 + 4 + (4) + 8 + 4 + (4) = 32 bytes
如果這時有個c#物件定義的是:
struct cs
然後傳遞給c++ dll, 就會因為記憶體對齊的問題而被坑到。
解決方法可以是填充一些佔位用的變數。
struct cs(fixed)
mongodb的乙個小坑
若collection裡有其他的資料,顯示時注意要往query裡新增true,並且需要放在最前面。解釋 下圖是名為test的collection裡面的資料。可以看到上面5條是一樣的資料,第6條是為了測試故意新增進去的。首先,當你執行命令db.getcollection test find 結果如下。...
Mybatis的乙個小坑
以前一直用的ibatis,前陣子才改用的mybatis,對於一些細節不太了解,所以踩了這個坑。廢話不多說,上 下面是出問題的sql語句 insert into g label obj relation his id label obj relation,id label,followed obj c...
sprintf sscanf中的乙個小坑
char buf 32 sprintf buf,s,d test 100 char out 32 int i 0 sscanf buf,s,d out,i 這段 開始以為會正常執行,結果卻是crash。sscanf在解析 s的時候遇到空格 指標符號 n才會停止解析,而這個 s後面的逗號基本上是乙個擺...