1. 使用vs2013创建一个工程

a.
b.
c.
d.把系统自动生成的文件全部删除掉

e.添加一个新的c文件

f.不要管上面的文件类型,直接输入文件名字以及后缀,点击添加即可

g.文件添加成功了,插入代码.注意:ERL_NIF_INIT的第一个参数,必须和加载内建函数的erl模块文件的名字相同,否则加载会报错.

#ifdef _WIN32
#   define WIN32_LEAN_AND_MEAN
#   include <Windows.h>
#   pragma comment(lib, "erts_MD.lib")
#endif  #include "erl_nif.h"  static ERL_NIF_TERM hello(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
{return enif_make_string(env, "Hello world!", ERL_NIF_LATIN1);
}static ErlNifFunc nif_funcs[] =
{{ "hello", 0, hello }
};ERL_NIF_INIT(vsdll, nif_funcs, NULL, NULL, NULL, NULL)

h.修改项目属性,不会的参照此网页:在windows下编译erlang内建函数(nif)的dll文件

i.编译,通过之后可以在路径下面的x64/Debug中找到对应的dll文件.

至此,dll文件就已经打出来了.

2. Erlang模块的编写.

a.新建一个模块,注意:1.要和ERL_NIF_INIT的第一个参数一致;2.加载路径一个要指定为vs2013工作间的路径,不要把dll拷贝到其他地方去了.
-module(vsdll).
%%%=======================STATEMENT====================
-time("2018/8/29 16:47").
%%%=======================EXPORT=======================
-export([init/0, hello/0]).
%%%=======================INCLUDE======================
%%%=======================RECORD=======================
%%%=======================DEFINE=======================
%%%=================EXPORTED FUNCTIONS=================
%% ----------------------------------------------------
%% @doc
%%
%% @end
%% ----------------------------------------------------
init() ->
R = erlang:load_nif("G:/c/vsdll/x64/Debug/vsdll", 0),
io:format("nif result:~p~n", [R]).
%% ----------------------------------------------------
%% @doc
%%
%% @end
%% ----------------------------------------------------
hello() ->
io:format("nif not found....~n", []).

b.编译,注意编译的路径.

c.启动werl.exe,备用.

3. 调试dll文件.

a.回到vs2013,配置调试属性:vsdll项目上面右键==>属性==>调试,参照下图修改对应的三个属性.

b.回到werl.exe,在控制台中先加载内建函数,成功之后调用内建函数,如果成功切回vs2013,将断点打上,在回到werl.exe,再次调用内建函数,vs2013的断点应该就生效了.

用vs2013编写并调试erlang内建函数(NIF)相关推荐

  1. 在windows下编译erlang内建函数(nif)的dll文件

    1. 准备软件 python2.7X64安装包; gyp工具包; vs2013;python和gyp下载地址:链接: https://pan.baidu.com/s/1xXkkYi7HEgaUR_Mm ...

  2. 让用VS2012/VS2013编写的程序在XP中顺利运行

    转自:http://blog.csdn.net/asanscape/article/details/38752655/ 微软为了推销自家平台,默认配置下VS2012和VS2013编写的应用程序只能在V ...

  3. MATLAB的MEX文件编写和调试

    资料一 MATLAB的MEX文件编写和调试 1. MEX的编写格式 写MEX程序其实就是写一个DLL程序,所以你可以使用C,C++,Fortran等多种编程语言来写. 编写MEX程序的编辑器可以使用M ...

  4. 编写和调试Shader程序(1)

    编写和调试Shader程序 (1)DirectX EffectEdit JohnsonFeng 常用的Shader编写程序有ATI Render Monkey和NVIDIA FX Composer,另 ...

  5. 【我的区块链之路】- Hyperledger fabric的简单入门(四)链码的编写及调试

    [我的区块链之路]- Hyperledger fabric的简单入门(四)链码的编写及调试       之前的文章中我们有讲过了fabric的一些核心的配置文件的选项说明,讲过fabric 的网络启动 ...

  6. 性能测试脚本的编写和调试_编写自动调试器以在测试执行期间捕获异常

    性能测试脚本的编写和调试 以前,我曾说过, 您总是想保留一些调试器断点作为例外 . 这有助于防止代码在不注意的情况下腐烂掉,有时掩盖了另一个问题. 如果您认真对待这一点,那么最好将此想法扩展到自动化测 ...

  7. MATLAB中MEX文件的编写与调试

    *************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com http:/ ...

  8. 实验 5 编写、调试具有多个段的

    实验任务 (1) (2) (3) (4) 若将最后一条指令"end start"改为"end",(3)中的程序仍然可以正常执行. 原因:如果不指明程序的入口,程 ...

  9. java在线支付---09,10,11,12_在线支付_分析易宝支付网关的应答协议与处理代码,完成用于处理支付响应的Servlet的初步编写和调试,完成处理支付网关响应结果的Servlet,支付实现

    09_在线支付_分析易宝支付网关的应答协议与处理代码 创梦综合技术qq交流群:CreDream:251572072 对支付结果返回的数据加密生成md5-hmac public static boole ...

最新文章

  1. 网络数据包发送接收全过程
  2. 数据分析精华经验分享,看看冠军是如何炼成的?
  3. 只导出项目需要的pip依赖包-方法的缺陷
  4. 贴一个CMemDC 代码,这东西真不错噢,短小精悍,可谓极品
  5. shopee虾皮科技测试工程师第一次笔试
  6. pojo java_Java——POJO总结
  7. 阿里前端委员会主席圆心:未来前端的机会在哪里?
  8. linux 没有 分区表,在Windows下分区,安装linux,分区软件肿么没有linux swap 这个选项?...
  9. 数据结构 判断数组元素是否互不相同
  10. linux 快捷键回复禁用,Linux 禁用Ctrl+Alt+Delete重启服务器操作
  11. Clob,Blob,InputStream,byte 互转
  12. CE6870 添加ipv6 策略路由失败问题解决
  13. linux密码带星号,Shell实现输入密码并显示星号
  14. 微软小娜关闭服务器,图文详解彻底关闭windows10系统里的小娜(Cortana)语音服务-系统操作与应用 -亦是美网络...
  15. 知识共享,让企业“活”起来
  16. 蜡笔小新模拟器汉化版_蜡笔小新历险记PC电脑版-蜡笔小新历险记电脑版下载v1.12.20 官方最新版-西西软件下载...
  17. 三星Android Pie软件,三星开始向欧洲Galaxy S9用户推送Android Pie稳定版更新包
  18. 计算机里的MAC,怎么在mac苹果电脑中查看电脑开机运行的时长
  19. 显示mac上隐藏的资源库文件方法
  20. 2019 年度个人深度总结

热门文章

  1. 从Pytorch源码看.pt文件
  2. 瓜子二手车—Java开发,前两面都过来了,第三天HR竟然跟我说这个...
  3. WSL Ubuntu guile命令报错Wrong __data_start/_end pair及guile-gi等相关编译错误的解决方法
  4. 即时通讯系列-1-即时通讯软件的项目需求说明书
  5. APP图标尺寸规范一文了解清楚
  6. 多暂估的库存如何调整_实例教你会计知识——存货暂估
  7. Android AspectJ详解
  8. WEB前端学习论坛整理
  9. 鲁大师7月新机性能榜:第一名有些意外!
  10. Shell中for循环的几个常用写法