Firefox插件开发(1)-万事开头难

介绍建立开发环境,一步步建立第一个例程。 什么是插件? 心血来潮,像做个firefox的插件开发。 弄了整整一天,终于有了模糊的概念。 firefox扩展应用分:Extension和PlugIn 以我的理解:Extension相当于一个可以执行Javascript的脚本;PlugIn相当于利用firefox的API接口的程序。所以,一个是本体的延伸;另外一个是独立的个体。 这里我是想学习Plugin。因为Javascript不会,感觉PlugIn更强大一些。 开发环境的建立 这里又一次感到了java的强大,好像可以直接使用一个叫netbeans的IDE+编译器+foxbeans插件,直接开始类似MFC的有向导的操作。我绕了个大弯子,才发现C/C++可能不能这么实现。这里也提醒大家一下。 我的目标是建立一个C\C++的集成开发环境。查了一堆资料,大多不靠谱,官方资料当然最可靠,感觉也有错误。下面是两个比较好一点的入门材料。 Compiling The npruntime Sample Plugin in Visual Studio:https://developer.mozilla.org/en/Compiling_The_npruntime_Sample_Plugin_in_Visual_Studio Firefox插件开发(5)——编译和测试第一个Plugin例子:npruntime:http://dev.firnow.com/course/3_program/c++/cppjs/20090924/177020.html 最需要阅读的是plugins API和使用入门。这是一个相当长的文档,如果看完所有的内容会花费大量的时间而且还会很晕,这里列一些重点供参考。 从这里http://developer.mozilla.org/en/docs/Gecko_SDK下载正确的版本SDK,并进行安装。说是安装,实际上就是解压缩到一个目录中,将SDK的路径加到环境变量path里面,比如我的路径D:\firefoxPlugin\xulrunner-sdk\bin。注意:为了方便,我们常常用这个目录作为工作目录,建立的位置要注意下。(版本1.9.2不行,缺少头文件,可以用1.9.1) 可以用VC进行开发,版本支持好像挺多的。我用了VC6。其他版本稍有不同,见上边的官方文档。建立一个插件的工程步骤如下: 在VC6中新建一个Win32 Dynamic-Link Library工程,取名“nprt”。注意:建议工程以小写np开头,并且长度不超过8个字符,这样以后就会省事很多。 下一步,选择“An empty DLL project”,然后“Finish”。 打开Project Settings,转到Project Properties|(all configurations)|C++|标签页,进行一些设置: 在 General| Preprocessor Definitions 中最后面添加 :  ,XP_WIN32,MOZILLA_STRICT_API,XPCOM_GLUE,XP_WIN,_X86_。 在Preprocessor |Additional Include Directories下面添加XULRunner SDK的include路径,可以是绝对路径,也可以是相对路径,看你当初怎么解压的了。例如:(example : C:\xulrunner-sdk\sdk\include) 在Precompiled headers|Create/Use precompiled header中关闭预编译头文件:Not using precompiled headers。 [...]

VC6.0无法打开文件和无法向工程添加文件的解决办法

如果机子上装了Visio2007,在VC6.0中的“FileView”右键点“add files to folder”或者在Project菜单点Add to project –Files或打开文件都会报出异常 或 点了一点反应都没有。 2种解决方案: 1. 卸掉Visio2007或Office2007即可; 2. 去微软那下个FileTool的dll,作为插件添加进VC,然后删除原来VC自己的打开文件和添加文件到工程(http://support.microsoft.com/kb/241396/zh-cn) 微软支持网站提供了解决方案 1、在下面的网站下载FileTool.exehttp://support.microsoft.com/kb/241396/en-us 2、FileTool.exe是个自解压文件,执行它,解压到某个目录下 3、解压后的文件是一个VC工程,在VC6中编译它 4、把编译生成的动态连接库文件FileTool.dll拷贝到C:\program files\Microsoft Visual Studio\Common\MSDev98\AddIns 5、重新启动VC6,工具->定制->附加项和宏文件选中FileTool Developer Studio Addin,关闭对话框 6、现在工具栏会出现两个新按钮以后用这两个按钮执行添加和打开文件就可以了。 重新打开VC6,工具栏里面出现了这个可笑的图标。

最小二乘法拟合圆公式推导

最小二乘法(least squares analysis)是一种 数学 优化 技术,它通过 最小化 误差 的平方和找到一组数据的最佳 函数 匹配。 最小二乘法是用最简的方法求得一些绝对不可知的真值,而令误差平方之和为最小。 最小二乘法通常用于 曲线拟合 (least squares fitting) 。这里有 拟合圆曲线 的公式推导过程 和 vc实现。 VC实现的代码: void CViewActionImageTool::LeastSquaresFitting() { if (m_nNum<3) { return;     } int i=0; double X1=0; double Y1=0; double X2=0; double Y2=0; double X3=0; double Y3=0; double X1Y1=0; double X1Y2=0; double X2Y1=0; for (i=0;i<m_nNum;i++) { [...]

不一样的火车

铁路齐柏林号后视图,可以清楚地看到车辆后部的两叶螺旋桨。 飞机火车“铁路齐柏林号”(英文:Rail zeppelin)(德文:Schienenzeppelin),是德国人在1931年制造的试作型火车,它将当时的飞机、飞艇、火车的特点集于一身。图为行进中的“铁路齐柏林号”。 “铁路齐柏林号”在1931年5月10日进行了首次试验行驶,当时时速就超过200公里。在1931年6月21日的一次试验中,它又创造出每小时230.2公里的世界火车速度新纪录。之后的24年内,没有任何其他火车超过该纪录。此图为1931年6月21日创造纪录时的“铁路齐柏林号”。 1934年7月,铁路齐柏林号被卖给德国帝国铁路局,由于德国扩充军备的关系,它在1939年被拆卸,其材料则被纳粹德军再利用。 此图为Märklin公司仿制的“铁路齐柏林号”模型。 老毛子的家伙:喷气式火车