- 博客(16)
- 资源 (5)
- 收藏
- 关注
转载 [C++]google perftools分析程序CPU / 内存的使用
最近,用到了google-perftool分析程序的内存和CPU的使用情况,总结一下使用的一些方法和体会,分享给有需要的朋友。首先,说说google-perftool,它是由google开发的用来分析C/C++程序性能的一套工具,这里的性能分析主要包括内存和CPU两个方面,内存分析使用google-perftool所提供的tcmalloc,CPU分析使用它所提供的profiler。下面先分别介绍一
2017-03-23 17:10:50 3416
转载 [C++]多个文件中定义同一个namespace
存在两种情况: 1)名字空间名称相同,成员名字不同,那么他们会自动合并为一个名字空间,可以理解为追加 2)名字空间名称相同,成员名称相同。那么程序会在调试过程的link时报错。因为连接器会检测到重复定义的变量。
2017-03-23 15:18:54 6560
转载 [C++]sleep 和 usleep区别
函数名: sleep头文件: #include // 在VC中使用带上头文件 #include // 在gcc编译器中,使用的头文件因gcc版本的不同而不同功 能: 执行挂起指定的秒数语 法: unsigned sleep(unsigned seconds);示例:#include #includeint main(){ i
2017-03-22 20:54:24 27426 1
转载 什么是Feed流
作者:胡点Vivian链接:https://www.zhihu.com/question/20825185/answer/107671816来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。原题主的具体问题是关于排版的,目前已有不错的回答,我这里就针对问题本身「Feed 除了 timeline 形式还有哪些形式」说说。首先,什么是 Feed
2017-03-16 19:21:57 22311
转载 为什么使用多线程
1.耗时的操作使用线程,提高应用程序响应2.并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。3.多CPU系统中,使用线程提高CPU利用率4.改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。 使用多线程的理由之一是和进程相比,它是一种非常花销小,切换快,更"
2017-03-16 16:55:33 274
原创 [C++]多线程: 教你写第一个线程
hello thread!声明线程A的端口号#include <pthread.h>pthread_t tid;定义线程运行函数void thread_function(void *args){ printf("thread_function is called!\n"); //注意区别 cout << "thread_function is called! << endl;
2017-03-15 19:44:52 12366
转载 [C++]函数后面加const修饰
声明一个成员函数的时候用const关键字是用来说明这个函数是 "只读(read-only)"函数,也就是说明这个函数不会修改任何数据成员(object)。 为了声明一个const成员函数, 把const关键字放在函数括号的后面。声明和定义的时候都应该放const关键字。任何不会修改数据成员的函数都应该声明为const类型。如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非co
2017-03-14 14:49:56 475
原创 [Python]pyc pyo文件
pyc和pyo是什么1.pyc是Python保存字节码,若源码无修改,下次直接加载pyc,跳过把py『编译』成字节码pyc这个步骤,以优化启动速度;2.pyo也是字节码,比pyc更小。什么时候会生成pyc、pyo文件?import包的时候。 比如当import一个包比如datetime时,就会产生datetime.pyc文件,当下次导入datetime包的时候,Python会对比字节码和源码修改
2017-03-14 11:23:47 1106
转载 [C++]explicit构造函数
按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用C风格的字符串p作为初始化值//…}String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”); 但是有
2017-03-13 20:38:16 202
转载 [C++]snprintf函数
snprintf()函数用于将格式化的数据写入字符串,其原型为: int snprintf(char *str, int n, char * format [, argument, ...]);【参数】str为要写入的字符串;n为要写入的字符的最大数目,超过n会被截断;format为格式化字符串,与printf()函数相同;argument为变量。【返回值】成功则返回参数
2017-03-13 18:49:52 18615
转载 [C++]new带括号和不带括号
在new对象的时候有加上(),有不加(),不知道这个到底是什么区别?比如:CBase *base = new CDerived();CBase *base = new CDeviced; 很多人都说,加括号调用没有参数的构造函数,不加括号调用默认构造函数或唯一的构造函数。这是有问题的。对于自定义类类型: 如果该类没有定义构造函数(由编译器合成
2017-03-13 16:59:01 3431 2
转载 [C++]类成员冒号初始化以及构造函数内赋值
通常我们对类成员进行“初始化”有两种方式:1. 构造函数后面跟冒号;2. 构造函数里面对成员进行赋值。有些人不太注意这个小细节,或者根本不知道他们的区别,认为两种方式是一样的。这个误解有时可能会对程序带来影响,这里我来介绍一下这两种方式。首先我们看这么一段代码:[cpp] view plain copyclass A {
2017-03-13 16:42:06 522
转载 [C++]虚函数和纯虚函数
首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。1、简介假设我们有下面的类层次:[cpp] view plain copy
2017-03-13 16:11:16 276
转载 [C++]基于SSE指令集的程序设计简介
基于SSE指令集的程序设计简介 SSE技术简介 Intel公司的单指令多数据流式扩展(SSE,Streaming SIMD Extensions)技术能够有效增强CPU浮点运算的能力。Visual Studio .NET 2003提供了对SSE指令集的编程支持,从而允许用户在C++代码中不用编写汇编代码就可直接使用SSE指令的功能。MSDN中有关SSE技术的
2017-03-10 16:09:29 783
转载 [C++]gflags的使用
google开源的gflags是一套命令行参数解析工具,比getopt功能更强大,使用起来更加方便,gflags还支持从环境变量、配置文件读取参数(可用gflags代替配置文件)。本文简单介绍gflags的使用,内容主要译自 http://gflags.googlecode.com/svn/trunk/doc/gflags.html 。 定义参数 使用flags需要包含头文件
2017-03-10 15:41:14 8389 1
原创 [cpp]C++笔记
#include <iostream>using namespace std;int main(){ char c = 'a'; char *p; p = &c; char **q; q = &p; printf("%p\n", q); printf("%p\n", *q); printf("%c\n", **q); cout <
2017-03-10 15:18:38 159
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人