- 博客(13)
- 资源 (17)
- 收藏
- 关注
原创 [科普小短文]在C#中调用C语言函数(静态调用Native DLL,Windows & Microsoft.Net平台)
本文属于“科普”性质,面向对.Net不了解的读者。 对于不太了解.Net的人,如果想要了解.Net,我必须给他介绍P/Invoke。P/Invoke是什么呢?简单地说,就是在.Net中调用本地代码(Native code)的一种解决方案。所谓“本地代码”是相对于托管代码(Managed code)来说的。P/Invoke实在是一个非常棒(awesome)的特性。本来,.Net 这项技术...
2012-02-23 20:04:33 19371 18
原创 Visual C++ 2010 Express Tips: 用 C 和 C++ 创建动态链接库
先简单说一下这篇小文的目的。其实纯粹是因为上一篇文章《将C语言源代码编译成动态链接库》里面介绍了用命令行工具(cl、link或gcc)创建动态链接库,但程序员在实际工作中用得最多的还是IDE,所以有必要说说在IDE里面怎么做这件事。创建动态链接库,那就直接用C++好了,Visual C++多么强大。但是我喜欢C语言胜过喜欢C++,所以打算看看如何用纯C来创建动态链接库。工具依然选择Visu
2012-02-23 19:19:50 9852 1
原创 将C语言源代码编译成动态链接库
下面我们举一个例子,用C语言写一个简单的函数,并在控制台(命令行)中将它编译为DLL。一、源代码我们创建一个C语言源程序:Test.c关键:__declspec(dllexport) 申明将这个方法导出到DLL中。源代码:#include "stdio.h"__declspec(dllexport) int sum(int a, int b){ re
2012-02-22 21:14:03 37002 6
原创 解决MinGW运行时的libgmp-10.dll丢失错误(libgmp-10.dll is missing from your computer)
安装完MinGW之后,执行gcc.exe,出现以下错误:The program can't start because libgmp-10.dll is missing from your computer. Try reinstalling the program to fix this problem.实际上libgmp-10.dll就在MinGW安装后的bin文件夹中,并
2012-02-22 19:44:48 26924 7
原创 Office PIA:代码示例:生成Excel文件的ExcelApp类
这个类的设计背景是:我需要兼容Excel 2007和Excel 2010的App。我只需要考虑写文件而不用考虑读文件。我只实现了一些必需的功能(可能其中没有涵盖您所需要的功能,但不难扩展)。我只需要输出Excel 97-2003 Workbook (*.xls) 这种格式。此格式对应的枚举值是:XlFileFormat.xlExcel8我引用了Excel 2007的PIA和部署相关的问
2012-02-17 18:45:33 5052
原创 Office PIA:注意Office App进程的管理
在Office PIA应用程序中,对Office App的管理不容忽视。在正常情况下,程序launch office app以后,通过interop的COM组件进行文档操作,然后保存、关闭office app。但这个过程在出错的情况下,office app可能还没有关闭,并且依然占用着所操作的文件,这当然不是我们期望看到的。以ExcelApp这个类为例,看看我在里面是怎么考虑的。以下贴出一
2012-02-17 18:30:38 1953
原创 非常赞同《编写更节能的程序》
刚刚看到《编写更节能的程序》一文,真是非常赞同。这是一篇很好的文章,不长,但是概括得非常有条理而且绝对都是经验之谈。没看过的请点击链接进去看一看。节能设计不仅仅是硬件工程师的职责,也必须扎根于软件工程师的脑海中。以往我经常看到一些软件代码里面的一些效率低下的操作,比如说效率低下的SQL语句造成对数据库服务器不必要的性能消耗、动辄刷新整个Cache而不是有策略地更新其中最小化的那一部
2012-02-17 17:57:10 1449
原创 上帝是个程序员
史上最伟大的程序员……能够叫这个称号的,只有上帝了。他老人家在“历史”还不存在的时候就已经在玩程序了。 他老人家写的程序,号称从一片虚无中演变出宇宙万物来,把宇宙万物玩得团团转。然后就有很多人类开始猜测上帝的程序是怎么写的……比如说伽利略这位黑客,开始通过测试的手段(实验物理学)来研究这套程序中的逻辑;伽利略死后,有位叫牛顿的黑客在伽利略等人的基础上总结出了著名
2012-02-16 15:00:41 2354 4
原创 武装我的“超强小黑”Thinkpad T400
公司发的有笔记本,无论公司还是家里也都有台式机,可是我还是最钟意我的“超强小黑”Thinkpad T400,在家里我一直用它,都很少碰台式机了。周末我上中关村转了一圈,顺便买了点东西,把小黑武装了一下。先看一下,这是我的“小黑”Thinkpad T400:我买了一个扩展坞(Docking Station):此扩展坞能够扩展出来一个S/PDIF(数字音
2012-02-13 20:03:22 7068 28
原创 Office PIA:绕过Bug Q320369:Old format or invalid type library" error when automating Excel
测试一定要充分!接上回书,话说我提交了Office PIA的代码以后,测试的同学就展开了充分的测试。在此之前我可是信心满满的,自以为已经做了充分的测试了,应该测不出什么bug来了。可是,很快,测试的同学就报了一个Exception issue给我:System.Runtime.InteropServices.COMException (0x80028018): Old format or
2012-02-13 18:22:42 2875
原创 当Office PIA遭遇C# 4.0
上回书说到,最近我在写一个Office PIA的程序。我先是写了一个独立的小工程,完美地实现了对Excel Workbook的各种操作,并且也反复作了测试。然后往我们真实的项目里合并。这里有个伏笔:我们team用的是Visual Studio 2008,而我个人用的是Visual Studio 2010。我没忘记在我的Visual Studio 2010工程里面把.Net Framework的
2012-02-13 17:05:36 3278 4
原创 Office 2003 PIA编程的问题:文件保存为XlFileFormat.xlExcel7格式时Range.Merge()失效
先抱怨一下:最近在写一个极其恶心的程序:生成Excel reporting。说这个程序恶心,是因为,实现这个报表的方法有很多,我却不得不用我心目中最差的一种方式来实现。先说说我心目中最好的方式:应该是用NPOI这样的开源库来实现。这个开源库可以脱离开Office软件来独立地生成Excel文件(包括.xls格式和.xlsx格式)。其实实现这种功能的开源库很多,为什么用NPOI呢?因为:N
2012-02-06 00:34:14 6932 16
原创 Open Source: 开源软件许可的选择
世界上的开源软件许可有上百种之多,但其中最流行的只有6种:GPL、LGPL、Mozilla、BSD、MIT和Apache。其余的开源软件许可大多可以归类于这6种,然后再加上一些微小的差异。对于这6种开源软件许可,乌克兰程序员Paul Bagwell清楚地描述了它们的一些重要的约束:国内翻译如下:看了这两张图片,对于开源协议的选择可谓一目了然。
2012-02-05 23:46:32 3747
基于PHM的供配电系统故障预测关键技术研究
2018-10-18
用UML描述C++设计模式
2018-10-18
Cmake开发手册详解
2018-10-18
Embedded Linux in a Partitioned Architecture for Aerospace Applications
2018-10-18
dsplib_c64Px_3_4_0_0_Win32.exe
2018-10-18
VC6的插件:WndTabs 3.2.0
2015-12-29
WPF Tips: Uncheckable radio buttons
2012-08-20
WPF Example: XmlDataProvider & Editable ComboBox
2012-06-06
可编译通过的Panorama 360示范程序
2011-06-13
ASP.Net调用Uploadify实现多文件上传的例子(VS2010)
2011-05-11
ASP.Net调用Uploadify实现多文件上传的例子(MonoDevelop)
2011-05-11
For Dummies Mac Os X Leopard Just The Steps For Dummies Nov 2007
2009-10-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人