- 博客(75)
- 资源 (4)
- 收藏
- 关注
转载 visual studio附加选项/Tc、/Tp、/TC、/TP(指定源文件类型)
/Tc 选项指定 filename 为 C 源文件,即使它没有 .c 扩展名。 /Tp 选项指定 filename 为 C++ 源文件,即使它没有 .cpp 或 .cxx 扩展名。 选项和 filename 之间的空格是可选的。 每个选项指定一个文件;若要指定其他文件,请重复此选项。/TC 和 /TP 是 /Tc 和 /Tp 的全局变量。 它们指定编译器将在命令行上命名的所有文件视为
2015-05-28 15:11:32 3470 1
转载 VC2013中“GetVersionExW函数被声明为已否决”
尝试这个1.Project Properties > Configuration Properties > C/C++ > General > SDL checks关掉其他方法:2.#pragma warning(disable: 4996) 3。/wd 4996第二和第三招不知道还管用不http://bbs.csdn.net/topics/3
2015-05-28 10:21:06 2939
原创 windows常用系统库
ws2_32.lib如果没有链接,会报如下错:error LNK2019: 无法解析的外部符号 __imp__closesocket@4,该符号在函数 _wmain 中被引用error LNK2019: 无法解析的外部符号 __imp__recv@16,该符号在函数 _wmain 中被引用error LNK2019: 无法解析的外部符号 __imp__accept@12,该符号
2015-05-28 09:36:28 3552 1
原创 VisualStudio中添加LIb库、头文件、宏等常用配制
在VS工程中,添加c/c++工程中外部头文件及库的基本步骤: 1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。 2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。注意:如果不添加目录,VS访问的默认库路径是当前工程的目录(
2015-05-28 09:18:59 3299
转载 vs2010 error C2001: 常量中有换行符
在XCODE那边写的代码,在window上编译经常会出现 vs2010 error C2001: 常量中有换行符原因:中文字符非常奇怪的是只有部分中文会提示。GOOGLE了下发现以下几种解决方案:I 不用中文 -_-II 偶数中文 或 结尾加英文的符号,如"."III 字符转换 GBKToUTF8参考:http://www.
2015-05-27 14:37:03 19044 1
转载 [cocos2dx笔记003] Vs2013增加静态库工程
(基于2.2.2版本,用vs2013编辑代码)在cocos2dx下有一个external目录,里面有一些要用到的cocos2dx静态库,如Box2D,chipmunk,emscripten,libwebsockets,sqlite3等。但是自己以往积累或第三方其它好用的开源库,想用。如果直接到加到现有的cocos2dx,则会破坏现有Cocos2dx的纯洁性,那只有自己建工程了。下面
2015-05-27 11:01:05 863
转载 Visual Studio 2008 、 Windows 环境变量介绍 和 c++文件流中文件路径
Visual Studio 2008 和 Windows 环境变量对设置 相对路径很重要,这样便于代码的移植,即使换一台计算机,代码不用更改配置,直接就能用。可以在项目的“工具”“属性页”对话框中任何接受字符串的位置使用这些宏。这些宏不区分大小写。 宏说明$(RemoteMachine)在“
2015-05-27 10:44:28 1230
原创 C++ struct中定义函数体,不占用结构体大小
#include struct A{ int func() { printf( "abcde" ); return 0; } int value1;};int main(){ printf( "sizeof( struct A ): %d\n", sizeof( struct A ) ); return 0
2015-05-27 09:28:55 1484
转载 C中struct的函数实现
C语言struct中的函数实现,只能用函数指针成员,不能包含函数实现代码。C/C codeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/#include struct test{ void
2015-05-27 08:56:49 1362
转载 C单元测试框架——CMockery简介与示例
简介cmockery 是google发布的用于C单元测试的一个轻量级的框架。主要特点:免费且开源,google提供技术支持;轻量级的框架,使测试更加快速简单;避免使用复杂的编译器特性,对老版本的编译器来讲,兼容性好;并不强制要求待测代码必须依赖C99标准,这一特性对许多嵌入式系统的开发很有用;获取源码:直接下载:http://code.google.
2015-05-26 16:25:17 8277
转载 C语言中结构体的初始化
《代码大全》建议在变量定义的时候进行初始化,但是很多人,特别是新人对结构体或者结构体数组定义是一般不会初始化,或者不知道怎么初始化。1、初始化typedef struct _TEST_T { int i; char c[10];}TEST_T;TEST_T gst = {1, “12345”};//可以初始化,设置i为1
2015-05-26 15:53:50 670
转载 C语言#define宏中省略号的含义
在LDD第三版第4章中给出如下宏定义,请问args后面的省略号(...)有什么作用?在args与省略号之间加入逗号有什么影响?#define PDEBUG(fmt, args...) printk( KERN_DEBUG "scull: " fmt, ## args) 参与了一些资料之后才明白:宏定义中的省略号表示一串可变的参
2015-05-26 15:26:50 6666
转载 C语言宏定义和宏定义函数
要写好C语言,漂亮的宏定义是非常重要的。宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等。 在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。 我们来看一个例子,比较两个数或者表达式大小,首先我们把它写成宏定义: #define MAX(
2015-05-26 14:51:03 18704
转载 C语言编程需要注意的64位和32机器的区别
一、数据类型特别是int相关的类型在不同位数机器的平台下长度不同。C99标准并不规定具体数据类型的长度大小,只规定级别。作下比较:16位平台char 1个字节8位short 2个字节16位int 2个字节16位long 4个字节32位指针 2个字节32位平台
2015-05-26 13:34:02 583
转载 O_NONBLOCK与O_NDELAY有何不同
O_NONBLOCK 和O_NDELAY 所 产生的结果都是使I/O 变成非搁置模式(non-blocking) , 在读取不到数据或是写入缓冲区已满会马上return ,而不会搁置程序动作,直到有数据或写入完 成。 它们的差别在于:设立O_NDELAY 会 使I/O 函式马上回传0 ,但是又衍生出一个 问题,因为读取到档案结尾时所回传的也是0 ,这样无法得知是哪种情况;
2015-05-25 09:33:05 634
原创 Ubuntu中 JDK的安装和卸载
http://thydia.blog.163.com/blog/static/71775520201045852830/各版本JAVA下载地址:http://olex.openlogic.com/packages/java/7u51BIN文件安装JDK:jdk-6u20-linux-i586.bin当然,我已经在sun的官方网站上下载好了必要的jdk,由于是
2015-05-22 17:52:13 3185
转载 Linux下能不能替换运行中的程序
今天被朋友问及“Linux下可以替换运行中的程序么?”,以前依稀记得Linux下是可以的(而Windows就不让),于是随口答道“OK”。结果朋友发来一个执行结果:(test正在运行中)# cp test2 testcp: cannot create regular file `test': Text file busy看起来是程序被占用,无法覆盖。于是自己又再做了几个实验:
2015-05-22 17:12:31 1738
转载 Unsupported major.minor version 51.0解决
环境:Eclipse-jee-indigo + JDK 1.6.23问题:别人的项目使用的是JDK 1.7,而本机采用的是JDK 1.6,当引入工程,配置好JDK,运行程序时会报“Unsupported major.minor version 51.0”错误。解决:项目------>右键------>属性------>Java Compiler------>Compiler
2015-05-22 16:35:50 749
转载 jnlp——通过浏览器直接执行java应用程序
java提供的一种让你可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个 java应 用程序.好处就不用说了,如果你的java应用程序以jnlp 的方式发布,如果版本升级后,不需要再向所有用户发布版本,只需要更新服务器的版本,这就相当于让java应用程序有了web应用的优点了. jnlp文件的具体说明: 应用JNLP部署应用 (1)编
2015-05-22 15:28:45 17946
转载 Jenkins Master/Slave架构
一 Jenkins Master/Slave架构 Master/Slave相当于Server和agent的概念。Master提供web接口让用户来管理job和slave,job可以运行在master本机或者被分配到slave上运行。一个master可以关联多个slave用来为不同的job或相同的job的不同配置来服务。当job被分配到slave上运行的时候,此时master
2015-05-22 13:46:56 704
转载 Java_.jar .war .ear区别
.jar全称: java archive;包含: class、properties文件,是文件封装的最小单元;部署文件: application-client.xml ;级别: 小;.war
2015-05-22 11:15:22 536
转载 如何提高研发质量与持续集成
随着软件业的不断发展,软件项目的规模越来越大,软件结构越来越复杂,技术要求越来越高,参与人员越来越多,管理也变得越来越难。在这样一个大背景下,如何提高软件研发质量,相信是所有软件公司都在关注的话题。但是,如何提供研发质量,这决不仅仅是一个口号,我们必须有一套行之有效的方法加以管理。然而有效的管理带来的负面影响往往是成本的提高,这包括时间的成本、人力的成本、资金的成本。在大多数软件研发项目中,时间总
2015-05-22 10:36:14 669
转载 PING能通,traceroute不通以及与tracert的区别
现象:PING 118.194.167.145能通,traceroute到最后一跳不通。分析:在WIN机器上用tracert测试可以达到,用网上站长工具等路由跟踪工具一样也可以到达,同时在LINUX机器上用MTR也能达到。对比判断会发现可能是LINUX机器上traceroute这个工具的问题。于是在LINUX上再用tracert,可达! 知识点:
2015-05-20 18:08:52 24382
转载 ubuntu下 GCC编译程序出现 undefined reference to `std::ios_base::Init::Init()'问题——gcc编译C++代码
在ubuntu vim下编辑如下代码(代码来自《C++标准程序库》p107):#include iostream>#include vector>#include string>#include algorithm>#include iterator>using namespace std;int main(){ vectorstring> coll; /* rea
2015-05-18 16:15:24 4557
转载 vi 的 visual 模式
VI 中有三种 visual 模式按 v 进入visual 模式;按 V 进入 visual line 模式,此时行 是最小的操作单位,dy 等动作的最小单位都是行;按 ctrl + v 进入 visual block 模式,此时选中的区域是一个矩形;使用 数字键 + h / j / k / l来调整选中的区域;选中后:使用 x 删除选中的区域,
2015-05-18 15:59:32 932
转载 对象序列化类库MsgPack介绍
MessagePack(以下简称MsgPack)一个基于二进制高效的对象序列化类库,可用于跨语言通信。它可以像JSON那样,在许多种语言之间交换结构对象;但是它比JSON更快速也更轻巧。支持Python、Ruby、Java、C/C++等众多语言。比Google Protocol Buffers还要快4倍。代码:> require ‘msgpack’> msg = [1,2,3]
2015-05-18 14:57:44 1975
转载 c++中的.hpp文件
hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该cpp文件即可,无需再 将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用hpp将大幅度减少调用 project中的cpp文件数与编译次数,也不用再发布烦人的lib与dll,因此非常适合用来编写公用的开源库。1
2015-05-18 14:34:46 1305
转载 浅谈linux性能调优之一:磁盘分区策略
对于服务器而言,不管是windows系统,linux系统,分区情况影响系统性能.磁盘分区之后再格式化成某一格式的系统文件,最后在存储用户或系统数据,数据所在分区容易读到数据则响应速度越快.当然也有相反的情况,严重可出现“数据饥饿” 在这之前我们必须先了解磁盘的一些特性(影响I/O的物理因素): 1> 存储密度 (越靠外道存储密度越大),(转速相同,靠外数据读入较多)
2015-05-17 11:30:05 956
转载 浅谈linux性能调优之十四:调节socket缓冲区
应用程序通过socket系统调用和远程主机进行通讯,每一个socket都有一个读写缓冲区。读缓冲区保存了远程主机发送过来的数据,如果缓冲区已满,则数据会被丢弃,写缓冲期保存了要发送到远程主机的数据,如果写缓冲区已慢,则系统的应用程序在写入数据时会阻塞。可知,缓冲区是有大小的。 BDP 给出了一种简单的方法来计算理论上最优的 TCP socket 缓冲区大小(其中保存了排队等待传输和等
2015-05-17 11:15:53 3579
转载 提高 Linux 上 socket 性能
加速网络应用程序的 4 种方法使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信。与其他 API 一样,您可以通过一些方法使用 Sockets API,从而提高 Socket 的性能,或者限制 Socket 的性能。本文探索了 4 种使用 Sockets API 来获取应用程序的
2015-05-17 11:12:13 740
转载 git submodule的使用
开发过程中,经常会有一些通用的部分希望抽取出来做成一个公共库来提供给别的工程来使用,而公共代码库的版本管理是个麻烦的事情。今天无意中发现了git的git submodule命令,之前的问题迎刃而解了。添加为当前工程添加submodule,命令如下:git submodule add 仓库地址 路径其中,仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下的路径。
2015-05-14 15:15:10 705
转载 CMake----if与option使用小记
在CMake中if语法比较简单,if后面括号中的参数随着CMake版本的推进,在else和endif中也可以不用写了。if(address)else()endif()对于if语法,比较常用的就是字符串比较了,这里个人简单用到过两种,一种是这个变量有没有定义过。有两种写法可以验证if(DEFINED address)else()endif()if(address)els
2015-05-14 14:27:34 3861
转载 Android之NDK开发
一、NDK产生的背景 Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言。但这并不等同于“第三方应用只能使用Java”。在Android SDK首次发布时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完全可以通过JNI调用自己的C
2015-05-14 11:57:33 521
转载 GYP 简介——与cmake比较
说起项目构建工具,Linux 用户最熟悉的恐怕就是 Autotools,它将编译安装这个步骤大大简化。但对于项目作者来说,想要使用 Autotools 生成有效的配置文件着实需要下一番功夫,用现在流行的话来说就是用户体验不够友好。对 Unix shell 的依赖,也使得 Autotools 天生对于跨平台支持不佳。后来我从大猫同学那里听说了 CMake,CMake 使用 C++ 编写,
2015-05-14 10:32:21 3098
转载 在 linux 下使用 CMake 构建应用程序
本文介绍了一个跨平台的自动化构建系统 CMake 在 linux 上的使用方法。 CMake 是一个比 automake 更加容易使用的工具,能够使程序员从复杂的编译连接过程中解脱出来。文中通过一些例子介绍使用 CMake 处理多源文件目录的方法、查找并使用其他开发包的方法以及生成 debug 版和 release 版程序的方法。0 评论:王 程明 (wangcheng
2015-05-14 10:21:30 4281
转载 UPNP端口映射全过称
UPNP的全称是 Universal plug-and-play( 通用即插即用).UPnP 是针对智能家电、无线设备以及各种外观尺寸的个人电脑的普遍对等(peer-to-peer)网络连接而设计的一种架构。它旨在为家庭、小型企业、公共场所中或连接到互联网的ad-hoc 网或未管理网络提供易于使用、灵活且基于标准的连接。(引自这里.) 我们这里用到的自动端口映射只是UPNP的一个小应用。按
2015-05-13 11:57:43 3019
转载 C++中const、volatile、mutable的用法
const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value值不可变。 例如:const int nValue; //nValue是co
2015-05-12 18:11:35 446
转载 STL之priority_queue
STL之优先队列原本以为priority_queue很简单,才知道原来懂的只是最简单的形式。头文件:#include优先队列,也就是原来我们学过的堆,按照自己定义的优先级出队时。默认情况下底层是以Vector实现的heap。既然是队列,也就只有入队、出队、判空、大小的操作,并不具备查找功能。函数列表:empty() 如果优先队列为空,则返回真 p
2015-05-12 14:26:09 595
转载 RTP与RTCP协议介绍
本文主要介绍RTP与RTCP协议。author: ZJ 06-11-17Blog: [url]http://zhangjunhd.blog.51cto.com/[/url] 1.流媒体( Streaming Media)1.1流媒体概念流媒体技术是网络技术和多媒体技术发展到一定阶段的产物。术语流媒体既可以指在网上传输连续时基媒体的流式技术,也可以指使用流式技术的连续时基
2015-05-12 13:56:47 470
转载 stl map用法和make_pair函数
首先make_pairPairs C++标准程序库中凡是“必须返回两个值”的函数, 也都会利用pair对象 classpair可以将两个值视为一个单元。容器类别map和multimap就是使用pairs来管理其健值/实值(key/value)的成对元素。 pair被定义为struct,因此可直接存取pair中的个别值.两个
2015-05-12 11:50:19 618
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人