2018-04-13
DllImport
using System.Runtime.InteropServices;
dll放置的地方
1奢人、exe所在目錄
2捣卤、System32目錄
3、環(huán)境變量目錄
4浑测、或者可以這樣server.MapPath(.\bin*.dll)web中的
5葛闷、后來發(fā)現(xiàn)用[DllImport(@"C:\OJ\Bin\Judge.dll")]這樣指定DLL的絕對(duì)路徑就可以正常裝載。
6姚建、非托管的處理會(huì)比較麻煩.實(shí)際上,你拷貝到bin沒有任何幫助,因?yàn)镃LR會(huì)把文件拷貝到一個(gè)臨時(shí)目錄下,然后在那運(yùn)行web,而CLR只會(huì)拷貝托管文件,這就是為什么我們明明把非托管的dll放在了bin下卻依然提示不能加載模塊了.
7 、導(dǎo)入Dll到Unity中吱殉。將Dll拷貝到Assets目錄下任何一個(gè)目錄都可以桥胞。一般是在Plugins目錄中,因?yàn)镈ll大多是外部功能塊考婴,同時(shí)也方便跨語言調(diào)用。
8催烘、Unity里面調(diào)用Dll暫時(shí)遇到的坑
一沥阱、dll import
并口通訊
namespace ParallelPortControl
{
class PortControl // Import dll to project
{
[DllImport("inpout32.dll", EntryPoint = "Out32")]
public static extern void Output(int address, int value); // decimal
}
public partial class Form1 : Form
{
int decData = 0;
int decAdd = 888; // 378h Selected Default
PortControl.Output(decAdd, decData);
}
}
1、簡單地說下32位環(huán)境伊群,使用x86配置
2考杉、端口888轉(zhuǎn)為16進(jìn)制就是0378
3、kernel32.dll暫時(shí)未解決