计算化学公社

 找回密码 Forget password
 注册 Register

简单聊聊如何用C语言给VMD的Tcl shell编写函数

查看数: 17105 | 评论数: 3 | 收藏 Add to favorites 23
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
ene
发布时间: 2021-5-7 22:19

正文摘要:

本帖最后由 ene 于 2021-5-7 23:30 编辑         1. 前言         VMD提供了强大的动力学模拟结果分析功能,我们常常会利用它内置的Tcl shell编写 ...

回复 Reply

edcchens 发表于 Post on 2022-3-15 14:03:05
牛的
lyj714 发表于 Post on 2021-5-8 01:09:36
本帖最后由 lyj714 于 2021-5-8 01:12 编辑

补个Win上编译的测试情况,咱就以Visual Studio 2019的cl编译器为例,配合官网稳定版本vmd1.9.3为例(注意这里是32位的程序哦!)
  • 如楼主写的那个程序为例,目前简单修改一下,去掉<sys/time.h>的依赖,,,添加上dll导出函数符号__declspec(dllexport),废话不多说,直接看修改好的附件
  • 编译并导出dll,咱就一步到位的命令,打开vs command prompt终端,注意一定要是32位的,必须与vmd保持一致
  1. cl -nologo -LD  -O2 -MD  librandom.c /IE:\tcl\include /link E:\tcl\lib\tcl85.lib
复制代码


这里的tcl库你可以通过pip安装,也可以源码编译(vs),注意一定要是tcl8.5才可以(与vmd中的保持一致,也必须是32位的)
  • 使用,通过vmd的tcl命令直接load就可以啦:
    1. load librandom.dll
    复制代码


当然用vmd1.9.4a的Win64版本也可以,比如这个版本http://bbs.keinsci.com/thread-19148-1-1.html,配合vs 64位编译器使用即可:



librandom.c

2.99 KB, 下载次数 Times of downloads: 15

win && linux

评分 Rate

参与人数
Participants 2
eV +10 收起 理由
Reason
snljty + 5
ene + 5

查看全部评分 View all ratings

ene 发表于 Post on 2021-5-7 22:58:54
顺便吐槽一句,论坛的代码编辑器真是难用……

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-23 20:21 , Processed in 0.230255 second(s), 27 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list