Windows编程
NowDoIT
这个作者很懒,什么都没留下…
展开
-
VS2005 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
1. 添加编译所需要(依赖)的 lib 文件 [解决方案资源管理器]“项目->属性->配置属性->连接器->输入->附加依赖项”里填写“winsock.lib”,多个 lib 以空格隔开。 (等同于“#pragma comment(lib, "winsock.lib") ”语句) 2. 添加库(Libs)文件目录方法 1:[解决方案资源管理器]“项目->属性->配置属性->连接器->常规->附加库目录” 方法 2:[菜单]“工具->选项->项目和解决方案->C++ 目录”,选择对应平台,然后添加所需“库文件转载 2011-01-04 18:00:00 · 420 阅读 · 0 评论 -
Unix和Windows平台设置环境变量的区别
export和set$和%变量连接使用:和使用;原创 2011-09-15 14:48:20 · 341 阅读 · 0 评论 -
【老生常谈】谈谈C语言中如何实现的获取可变参数列表的功能
在C语言中,是通过下面这三个函数来完成对可变参数列表值的读取的。va_start(ap,fmt);vsprintf(info_buf,fmt,ap);va_end(ap);使用下面的代码来演示一下。#include #include #include原创 2011-09-09 11:03:02 · 569 阅读 · 0 评论 -
VS2005快捷键大全
调试快捷键 F6: 生成解决方案 Ctrl+F6: 生成当前项目 F7: 查看代码 Shift+F7: 查看窗体设计器 F5: 启动调试 Ctrl+F5:原创 2011-09-23 15:24:48 · 366 阅读 · 0 评论 -
windows 错误代码大全[转]
0000 操作已成功完成。0001 错误的函数。0002 系统找不到指定的文件。0003 系统找不到指定的路径。0004 系统无法打开文件。0005 拒绝访问。0006 句柄无效。0007 存储区控制块已损坏。0008 可用的存储区不足,无法执行该命令。0009 存储区控制块地址无效。0010 环境错误。0011 试图使用不正确的格式加载程序。001转载 2011-10-26 11:25:28 · 949 阅读 · 0 评论 -
堆和栈的区别详解!
Windows里面的情况应该和linux差不多。栈是线程的资源,系统给每个线程分配了一块栈。一般情况下线程只能访问自己的栈。每个线程有一个结构保存它的栈地址,当前指针,当前执行的cpu指令地址,优先级,等等,切换的时候按照这些内容设好cpu相应的寄存器,然后控制权交给该线程。进程切换的操作也是类似的,把进程控制块恢复到寄存器,交控制权...堆和栈的区别 (转贴) 非本人作转载 2011-11-01 10:53:06 · 384 阅读 · 0 评论 -
windows多线程应用实例
//简单的windows多线程实例,记录参考。#include #include #include typedef struct thread_param{ int threadno; char str[20];}T_PARAM;void * myFunc(void *str);int main(int argc,char *argv[]){原创 2011-11-01 16:01:55 · 1846 阅读 · 1 评论 -
堆和栈详解!附一篇,应用实例。
来看看编译器对字节对齐的优化处理。测试实例: #include #include int main(int argc,char *argv[]){ int a; char b; int c; printf("0x%08x\n",&a); printf("0x%08x\n",&b); printf("0x%08x\n",&c);转载 2011-11-01 13:59:42 · 452 阅读 · 0 评论 -
如何验证机器的字节序是大端还是小端?!
大端模式:高字节放在内存的高地址上;小端模式:高字节放在内存的低地址上;验证程序:#inclucde #include int main(int argc,char *argv[]){ unsigned short s = 0xAABB; unsigned char *p = (unsigned char *)&s;原创 2011-10-31 14:31:01 · 568 阅读 · 0 评论 -
囘調函數詳解
囘調函數進階一:瞭解囘調函數調用函數:如果參數是一個函數指針,調用者可以傳遞一個函數的地址給實現者,即調用者提供一個函數但自己不去調用,而是讓實現者去調用它,這稱之為囘調函數。囘調函數示例:void func(void (*f)(void *),void *p);實現過程:調用者提供一個囘調函數,再提供一個準備傳遞給囘調函數的參數;把囘調函數傳給參數f,把準備傳給囘原创 2011-11-24 22:03:14 · 472 阅读 · 0 评论 -
C语言异或操作的妙用
如果想要交换2个变量,一般的做法是引入第三个变量,例如, temp = a; a = b; b= temp;这样2个变量中的值就实现了交换。那能不能不引入其他变量就可以实现变量值的交换呢?答案是肯定的。用异或操作可以实现,有2种实现方法,本质上是一样的。法1:#include int main()转载 2012-01-30 15:39:16 · 931 阅读 · 0 评论 -
CMD命令大全
http://hi.baidu.com/shiyans/blog/item/8d66bc8b5aab3c7c9e2fb48c.html原创 2011-09-13 21:56:23 · 289 阅读 · 0 评论 -
【老生常谈】printf函数打印字符的方式
在打印普通的字符的时候,使用printf("%c")是毫无疑问的。但是,如果是下面的情况呢?#include #include #define CC1 2#define CC2 1int main(int argc,char **argv){原创 2011-09-09 11:00:47 · 696 阅读 · 0 评论 -
【老生常谈】函数传参的几种方式优劣比较
明确函数传参的两种方式值传递(pass-by-value)和引用传递(pass-by-reference)明确C和C++的传值方式C语言只有值传递(pass-by-value),而C++实现了值传递(pass-by-value)和引用传递(pass-by-refere原创 2011-09-09 10:35:37 · 520 阅读 · 0 评论 -
vs2005提示 "error LNK2019: 无法解析的外部符号xxx,该符号在函数 xx中被引用" 的解决办法
百度一下,很多这个错误的解决方式,但是我是用下面这个方法解决的。这个错误,从字面上理解,就是说该外部符号已经被识别了,说明头文件定义和引用没问题;第二点,就是说找不到它的实现,也就是只有定义。解决办法, 属性->配置属性->链接器->输入 附加依赖项添加函数实现所在的库文件,多个库文件用空格分开。重新编译,就OK了!原创 2011-01-04 18:56:00 · 554 阅读 · 0 评论 -
FTP和SFTP的异同
Ftp是文件传输协议,使用21号端口;而Sftp是安全文件传输协议,使用22号端口。这是一个博弈的问题,选择安全则效率低,反之效率高。应取决于应用场所的不同。FTP常用的命令:(无特殊说明,则针对的是服务端操作)open 打开一个远程服务端;cd 改变远程服务器的目录命令;lcd 改变本地/客户端的目录命令;get/recv 获取文件;send/put 发送文件;rename 重命名文件;mdelete 删除文件;FTP>ascii ;设置文件传输格式为ascii编码格式;FTP>binary/bi;设置原创 2011-02-28 21:17:00 · 1794 阅读 · 0 评论 -
工作小技巧(碎碎念,不定期更新ing...)
1. telnet 到远程主机执行命令,退出;使用ftp进去,get文件,退出.然后再ftp或者使用工具put到目的主机,编译之.原创 2011-02-12 17:07:00 · 464 阅读 · 0 评论 -
开发工具vs2005使用技巧,不定期更新中
1. 打开工程,属性,配置属性,C/C++,预处理器,预处理器定义; 在这里可以添加自定义的编译选项!原创 2011-02-16 18:20:00 · 397 阅读 · 0 评论 -
Windows系统如何快速的创建一个指定大小的文件?
在unix系统上,可以使用dd命令来迅速的创建文件。那么在windows上面呢,是否也有类似的工具创建文件?答案是肯定的!使用 fsutil 命令。命令格式为:fsutil file createnew 延伸一下 fsutil,是个非常有用的命令,它的帮助文件截图如下。原创 2011-04-04 15:41:00 · 3381 阅读 · 0 评论 -
Excel2007操作技巧集锦
Excel2007操作技巧集锦1.如何为excel的图表添加标题? 点图表,在图表工具->设计->菜单,选择一个带标题的图表布局,然后修改标题内容即可。2.如何生成横坐标均等分的图表? 插入->图表->其它->X、Y(散点图)。而普通的就直接插入“折线图”即可。原创 2011-05-24 16:01:00 · 1074 阅读 · 0 评论 -
vs2005的几种调试方法
在vs2005中,默认集成了很多方便的调试方法。 1.一般小的应用程序,我们可以自己制定调试参数去调试。 点击项目->属性->配置属性->调试,右侧的“命令参数”。 2.打开 工具 --> 附加到进程 3.打开 任务管理器 --> 右键进程,选择调试 4.使用 DebugBreak()方式。 这种方法适用于源代码量比较大,不容易定位问题的情况下。原创 2011-06-04 08:45:00 · 580 阅读 · 0 评论 -
Svn的不常用技巧
无论是在windows平台还是在unix平台,svn都可以取得需要的版本号。命令如下: svn export update -v 320 svn_url命令表示export出版本号为 320的产品代码。这样,就避免了取得最新代码,然后去一个个的比较排查的麻烦了!同样的,命令 svn checkout update -v 320 svn_url 也是原创 2011-06-27 16:29:00 · 377 阅读 · 0 评论 -
VS2005调试结束后,cmd命令窗口无法关闭的解决方案
解决方案:系统补丁KB978037与现有功能冲突,导致命令窗口无法关闭,卸载掉该补丁即可。 到控制面板->添加或删除程序->显示更新,找到KB978037,删掉。原创 2011-08-01 09:41:51 · 1683 阅读 · 1 评论 -
跨平台编程的原则
要时刻谨记跨平台的情况,防止在不同平台读取的数据地址及位数不同!!!如下代码:#if defined(WIN32)||defined(WIN64) MaxSize=%I64d "#else#ifdef T_LARGEFILE MaxSize原创 2011-09-08 14:06:09 · 396 阅读 · 0 评论 -
排序算法的C语言实现
要实现这几种算法的关键是要熟悉算法的思想。简单的说,冒泡排序,就如名字说的,每经过一轮排序,将最大的数沉到最底部。选择排序的思想是将整个数列,分为有序区和无序区。每轮排序,将无序区里的最小数移入到有序区。快速排序的思想是以一个数为中心,通常这个数是该数列第一个数,将整个数列分为两个部分,一个部分是大于这个数的区域,一个部分是小于这个数的区域。然后再对这两个部分的数列分别排序。如果将数列分为两个部分转载 2012-01-30 16:39:46 · 416 阅读 · 0 评论