- 博客(36)
- 收藏
- 关注
原创 CStdioFile读取文件
CStdioFile file;CString FileName = _T(".\\testItems\\lightSensor_Script.txt");if (!file.Open(FileName, CFile::typeText | CFile::shareDenyNone)){CString sMsg; sMsg.Format(_T("Open file %s f
2015-04-30 15:04:56 918
转载 【转】匈牙利命名法则
【转】匈牙利命名法则几年以前,Charles Simonyi(他后来成为微软的著名程序员)设计了一种以前缀为基础的命名方法,这种方法后来称为"匈牙利表示法"以记念他.他的思想是根据每个标识符所代表的含义给它一个前缀.微软后来采用了这个思想,给每个标识符一个前缀以说明它的数据类型.因此,整型变量的前缀是n,长整型变量是nl,字符型数组变量是ca,以及字符串(以空类型结尾的字符
2015-01-15 19:41:08 573
原创 VC下获取系统时间
CString strTime; SYSTEMTIME st; GetLocalTime(&st); strTime.Format("%4d%2d%2d-%2d%2d%2d-%3d", st.wYear, st.wMonth, st.wDay, st.wHour,st.wM
2014-10-19 10:46:59 529
转载 source insight工程的相对路径
fw from: http://myswirl.blog.163.com/blog/static/513186422011101202046299/在创建source insight工程时,最好用“相对路径”,并“将si的工程文件,保存到源码包里”!这样一来,等以后,将源码包放置于硬盘上其他位置,或分发给其他人,或改了源码包的名称,si工程仍然能用!在创建si工程的时候
2014-10-16 20:09:41 575
转载 C#和C++下数据类型对应表
/C++中的DLL函数原型为 //extern "C" __declspec(dllexport) bool 方法名一(const char* 变量名1, unsigned char* 变量名2) //extern "C" __declspec(dllexport) bool 方法名二(const unsigned char* 变量名1, char* 变量名2)
2014-10-07 20:25:57 638
转载 C#与C++的混合编程
【原创】C#与C++的混合编程2009年03月08日 星期日 下午 08:10 关键词:C#,C++,CLR C++, managed C++,混合编程,DLL调用,FileNotFoundException异常 C#写界面比较方便,而C++则擅长写算法,所以将两者结合起来将会加快程序的开发速度,并保证程序的质量。但C#与C++的混合编程有很多细节问
2014-10-04 12:50:16 3321
转载 C#和C++混合编程
C#和C++混合编程 2010-09-20 20:24:12| 分类: 技术|举报|字号 订阅 由于历史原因,很多时候我们的代码并不完全是使用.NET写成的。这时候和以往C++代码的混合编程就显得相当重要了。最近碰到了这样的问题,将方法简要记述如下。 调用简单的C++函数 要在C#代码中调用C++函数,大体的思路是这样的:首先将C++
2014-10-04 12:47:26 752
转载 C#结构体和字节数组的转换
在写C#TCP通信程序时,发送数据时,只能发送byte数组,处理起来比较麻烦不说,如果是和VC6.0等写的程序通信的话,很多的都是传送结构体,在VC6.0中可以很方便的把一个char[]数组转换为一个结构体,而在C#却不能直接把byte数组转换为结构体,要在C#中发送结构体,可以按以下方法实现: (1)定义结构体: //命名空间 using System.Runtime.I
2014-02-28 18:12:48 812
转载 fatal error LNK1104: 无法打开文件“LIBC.lib”错误
fatal error LNK1104: 无法打开文件“LIBC.lib”错误 方法一:用VSDNET2005重新编译某个工程的发生了链接错误现在把这个解决过程分享一下。错误如下:fatal error LNK1104: 无法打开文件“LIBC.lib” 。解决如下:项目->属性中->配置属性->链接器->输入->在忽略特定库中写入打不开的文件的名称LIBC.lib;
2013-10-25 19:33:14 2345
转载 VS2010中 C++创建DLL图解.
转自:http://hi.baidu.com/lipeiyi2006/item/df1d035734472d9509be17c0VS2010中 C++创建DLL图解.一、DLL的创建 创建项目: Win32->Win32项目,名称:MyDLL选择DLL (D) ->完成.1、新建头文件testdll.htestdll.h代码如
2013-10-25 18:33:55 748
转载 编程名言名句
最初的90%的代码用去了最初90%的开发时间。余下的10%的代码用掉另外90%的开发时间。–Tom Cargill程序员和上帝打赌要开发出更大更好——傻瓜都会用的软件。而上帝却总能创造出更大更傻的傻瓜。所以,上帝总能赢。
2013-10-09 18:38:07 531
转载 转帖:C# 中的委托和事件
关于C#中的委托和事件,写得不错的一篇文章:http://www.tracefact.net/csharp-programming/delegates-and-events-in-csharp.aspx
2013-05-20 18:34:42 522
原创 由余弦定理,求两个线段的夹角
/// /// 根据余弦定理求两个线段夹角,单位: /// /// 端点 /// start点 /// end点 /// /// remark: cos(fi) = (a * a + b * b - c * c) / (2ab),经过公式化简:
2013-05-14 20:44:43 3147
转载 LPSTR、LPCSTR、LPTSTR和LPCTSTR的意义及区别
ANSI(即MBCS):为多字节字符集,它是不定长表示世界文字的编码方式。ANSI表示英文字母时就和ASCII一样,但表示其他文字时就需要用多字节。2、Unicode:用两个字节表示一个字符的编码方式。比如字符'A'在ASCII下面用一个字节表示,而在Unicode下面用两个字节表示,其中高字节用“0”填充;函数'程'在ASCII下面用两个字节表示,而在
2013-04-25 18:40:50 686
原创 编写DLL函数时的 __declspec(dllexport) 与 __declspec(dllimport)
在编写一个图像采集板卡的驱动程序时,需要将相关函数封装为dll导出。VS2010生成的范例中,有 __declspec(dllexport) 与 __declspec(dllimport)。一开始没有怎么关注这个声明,结果编译生产dll、使用dll时会提示:无法找到xxxx.dll模块。而xxx.dll明明在相应的路径下。经过逐步缩小范围,最
2013-04-25 01:05:49 552
转载 C#中MessageBox用法大全(附效果图)
参见:http://blog.csdn.net/xuenzhen123/article/details/4808005
2013-04-17 09:57:00 567
转载 vs2010 快捷键大全
vs2010 快捷键大全VS2010版快捷键Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口
2013-04-16 11:55:52 547
原创 Advantech PCI Motion Card的编程控制
概要:研华的PCI1245运动控制卡可使用其Advantech.Motion.dll组件,简单、方便的实现编程控制。参考:http://advantechblogs.sg.easy-server.com/adamforum/viewthread.php?tid=93813&extra=page%3D1###
2013-04-13 16:02:13 1559
转载 C# 中2,10,16进制及其ASCII码之间转化
--------//C#中各种字符类型的转化,使用于串口通信------------ //字符长度的理解 string s = "我是一个2兵"; int len = s.Length;//6个字符 byte[] sarr =
2013-04-11 09:18:38 952
原创 Gerber文件的阅读
(一)PowerPcb 生成的Gerber文件 文件基本名前面的几个字母一般都表示属于那层:以art开头表示属于板层,例如art001表示第一层,art002表示第二层…依此类推;以drl开头则为钻孔相关的文件;以fabdrawing开头的则是分孔图以sm开头表示绿油层,后接t字是Top层,接b是Bottom层以ss开头表示文字层,后接t字是Top层,接b是Bottom层
2013-03-23 14:54:34 5098
原创 去掉VS c++项目中的sdf,iph,pch文件
在VS2010中,一个简单的项目也有几十M的大小,一看,有几个很大的辅助文件。sdf, iph文件可按下图1处理;pch文件,可按图2,将其存到另外一个临时目录,眼不见心不烦。
2013-03-23 10:28:48 2293
原创 VS中的语法高亮插件VisualAssistX10.7
以前搞嵌入式开发,纯粹的c/c++代码,我用SourceInsight,语法高亮、补全等功能非常强大。转入VS的C#,起初看VS的简陋语法高亮,很不习惯,但是看在VS原生的自动补全和定义查找,忍了。后来发现了VisualAssistX,安装了这个,虽然比SourceInsight差点,不过也还算不错。下载地址:http://download.csdn.net/det
2013-03-13 11:54:52 1834
转载 c#中 uint--byte[]--char[]--string相互转换汇总
转自:http://www.cnblogs.com/huomm/archive/2008/08/29/1279417.html 在做一些互操作的时候往往需要一些类型的相互转换,比如用c#访问win32api的时候往往需要向api中传入DWORD参数 即:uint参数这些数值所表示的数据在实际的应用中可能需要以字符的形式显示,但是c#对api的关系无法跟c++相比,所以在c#中
2013-03-07 12:55:42 631
原创 C#中TextBox只允许输入数字
遇到这个问题,上网查了下,有在key_press()事件、validating ()事件等中进行验证处理。后来查看到,可使用MaskedTextBox控件。试了试,这个控件功能很强大,可设置各类掩码,以限定输入的字符。
2013-03-05 16:47:43 884
原创 强制垃圾回收
有时出于某种目的,可能会在一个函数中用new的方式分配一些内存,再通过IntPtr传出。此时,需要在分配函数的外部进行手动释放了。可使用GC.Collect()进行手动释放。
2013-03-05 11:51:03 533
转载 c# BackGroundWorker 多线程操作的小例子
转自:http://blog.163.com/j_yd168/blog/static/4967972820092114269195/c# BackGroundWorker 多线程操作的小例子 在我们的程序中,经常会有一些耗时较长的运算,为了保证用户体验,不引起界面不响应,我们一般会采用多线程操作,让耗时操作在后台完成,完成后再进行处理或给出提示,在
2013-02-27 19:27:41 428
转载 字符编码笔记:ASCII,Unicode和UTF-8
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 作者: 阮一峰日期: 2007年10月28日今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。
2013-02-27 10:53:33 296
转载 c#中byte[]与string的相互转换
转自:http://www.cnblogs.com/zhoufleru/archive/2007/06/04/770864.htmlC#中如何将字符串转换byte[],同时如何将byte[]换成字符串!1 string to byte [] string str = "abcd" ; byte[] bytes = Syste
2013-02-27 10:35:00 799
原创 C#中将文件读取到byte[] buf中
private void ReadOneImg(byte[] ImgBuf) { string strReadFileName = "text.jpg"; FileStream fs; fs = new FileStream(strReadFileName, FileMode.OpenOrCreate, F
2013-02-27 10:11:17 918
转载 c#中的静态方法与成员
C#静态方法及属性在程序启动的时候,就全部装入内存的,而不管这些方法、属性以后有没有用到。即使是没有人再访问程序,这部分内存仍然不会释放还有就是,所有访问者看到的静态属性的数据几乎都是一样的,比如A用户设置了UserName这个属性,B用户访问的时候,得到的UserName仍然是A用户设置的那个。这种特性,如果用在固定数据中,那不会有太大问题,比如连接字符串之类的。 C#静态方法/
2013-02-27 09:28:57 382
原创 关于c#的namespace
对于从c/c++转过来的程序员而言,c/c++中的#include “xxx.h”是项目划分模块的一个基本模式。在c#中类似的方法是是采用namespace及using。自定义的一个模块,可以新建一个xxx.cs文件,在正式代码前,用namespace xxxx_module{}括起来。在其他cs文件中,用using xxxx_module引入。
2013-02-27 09:26:25 429
转载 StructLayout特性
转自:http://www.cnblogs.com/JessieDong/archive/2009/07/21/1527553.html(正在将Labview中的dll使用在c#中,正在定义相应数据结构)StructLayout特性StructLayout特性 公共语言运行库利用StructLayoutAttribute控制类或结构的数据字段在
2013-02-25 15:10:53 317
原创 c/c++的typedef在c#中的等效处理办法
在c、c++中有typedef定义。当要把c/c++中的程序移植到c#或调用c中的dll函数时,涉及到一些数据结构的重新定义。为了方便,可使用c#中的using 别名。如:using LVBoolean = System.Byte; public struct TD1 { public LVBoolean Red; pub
2013-02-25 15:03:31 6188
原创 VC.net中的用TRACE输出CString
郁闷,用TRACE输出CString,报错:String too long or IO Error。查了n多网页,尝试很多办法,都不行。(以前搞嵌入式c/c++开发的,现在搞VC.net和c#,对数据结构、内存操作等,颇感郁闷。不知道什么时候能够全部融会贯通)最后找到如下解决办法:#include CString str;
2013-02-22 10:51:28 682
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人