Unity DllImport 以及 并口通讯

2018-04-13

DllImport


using System.Runtime.InteropServices;
dll放置的地方
1、exe所在目录
2、System32目录
3、环境变量目录
4、或者可以这样server.MapPath(.\bin*.dll)web中的
5、后来发现用[DllImport(@"C:\OJ\Bin\Judge.dll")]这样指定DLL的绝对路径就可以正常装载。
6、非托管的处理会比较麻烦.实际上,你拷贝到bin没有任何帮助,因为CLR会把文件拷贝到一个临时目录下,然后在那运行web,而CLR只会拷贝托管文件,这就是为什么我们明明把非托管的dll放在了bin下却依然提示不能加载模块了.
7 、导入Dll到Unity中。将Dll拷贝到Assets目录下任何一个目录都可以。一般是在Plugins目录中,因为Dll大多是外部功能块,同时也方便跨语言调用。
8、Unity里面调用Dll暂时遇到的坑
一、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位环境,使用x86配置
2、端口888转为16进制就是0378
3、kernel32.dll暂时未解决

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容