摘要:
一直在找门简单的语言,能够快速完成日常的一些程序,用了一段时间C#,虽然很好,但依然比较复杂。大家都说Python好,这几天开始看了看Python,感觉还不错,语法不复杂,涉及的领域特别的广,大致搜了下我感兴趣的方面:CocoRPy27:python for coco/r compiler toolpyCPU: run python subset directly on a cpumyHDL: Hardware Description Language for pythonpycad: python for AutoCAD scriptinggccpy: gcc front end for p 阅读全文
摘要:
有些时候,我们只想定义函数,却不想手动调用函数,而是希望这些函数在系统上电时自动调用。比如在写设备驱动时,设备的初始化函数就是这样一种函数,我们希望所有设备在上电的时候被初始化,每次增加一个设备时,不需要想着去调用这个函数,定义完之后,自己就被加入到设备初始化函数集中。解决的方案有很多,比如写个预处理脚本,把特定格式声明的函数扫描上来,生成一个数组,然后统一调用,不过,这里有另一种解决方法:为每一个函数定义一个指针变量,然后将这个指针变量放到特定的section中,链接器最终会把同名的section组合到一起,即自动生成一个函数指针数组,访问链接器生成的符号即可。typedef void(*D 阅读全文
摘要:
IronJS在github上wiki上有示例代码说明如何输出一个CLR的函数到JS环境中去,但是他只说明了怎样输出一个固定参数的函数,未提及可变参数的问题。甚至于IronJS.Native.Utils.CreateFunction()必须通过第2个参数将CLR函数的参数个数告知IronJS。
C#的Console.WriteLine()函数用起来还是比较爽的,如何在JS环境中创建一个print(format, …)函数呢?通过JS函数的arguments可以轻松搞定这件事情 阅读全文
摘要:
CSScript确实是个不错的东西,填补了WSH没有C#的空白,最重要的是大大扩展了脚本的功能,以前用JS写WSH的脚本,功能实在是弱了点,想把文件存成UTF-8,还不得不用ADOBD.Stream,着实不方便。有了CSScript,以后写点编译用的简单脚本就方便了,用起来比Lua爽多了(当然,Lua本来就不是干这个的)。CSScript本质上是将C#在线编译,然后执行,如果要执行一些运行时动态生成的代码,就没有这么方便了,毕竟C#不是动态语言,每一行代码都得编译成assembly才能运行。如果将CSScript和IronJS结合在一起,那所有问题就都解决了。 1 using System; 阅读全文
摘要:
话说最近有特别的需求,要用C#调用一种动态的语言执行一些经常改变的操作。由于我对Lua情有独钟,所以一开始就想到了它,了解了下LuaInterface,貌似问题挺多(issue list上有许多没有解决的defect),而且好像与时下很火的DLR没什么关系。MS支持的Iron系语言看起来比较牛的样子,不过Python和Ruby我都没有接触过,最近也没有学门新语言的时间。搜了下IronLua,Google上有工程却没有代码。由于本人经常用JS写一些WSH的脚本(CMD太烂了),所以对JS还挺熟,于是IronJS就这样被我找到了!!IronJS功能是非常地牛,但文档确实是少了点,除了项目wiki和 阅读全文
摘要:
WSC是一个很老的东西了,我现在是想用C#去执行一个WSH(javascript)的脚本,却又不想通过Process却调用cscript,直接call函数最好了。WSC 1 <?xml version="1.0" encoding="utf-8"?> 2 <component> 3 <?component error="true" debug="true"?> 4 <registration 5 description="test" 6 progid=& 阅读全文
摘要:
背景根据CTeX论坛里的帖子1 2 TeX文件中如果要插入visio图,必须先转换成PDF格式,可以手动转换,也可以用VBS批量转换。我最近在研究ConTeXt,不了解LaTeX,我就说说ConTeXt的问题吧。首先,VBS转换成PDF是外挂的,转换过程独立于TeX的编译过程,必须手动写一个Makefile建立依赖关系,如果文档中包含的Visio图变了,那就必须修改Makefile,当然也可以编一个程序扫描所有的TeX文档,提取visio图信息,自动建立依赖关系。如果能够让TeX编译时在线地将visio图转成pdf,然后包含进来岂不是更好。其次,大家给出的解决方案对于PDF切白边一般都要调用外 阅读全文
摘要:
经过之前的工作,总算可以在Cygwin中使用luacom了(参见这篇文章),但是不能在Windows下直接使用,有些事情还是很难办的。比如今天我想用luatex直接调用lua模块实现编译tex文档时,将其中包含的visio图在线转成pdf。于是,我终于忍不了了,把luacom的源代码编译并调试了下,修正了其中的一个BUG,参见https://github.com/windtail/luacom的最新一次提交。测试用例还是之前在cygwin中的那两个 http://www.cnblogs.com/windtail/archive/2012/07/01/2623173.html使用注意事项任何传递 阅读全文