前一段时间再次拜读《Inside the C++ Object Model》 深入探索C++对象模型,有了进一步的理解,因此我也写了四篇博文算是读书笔记:Program Transformation Semantics (程序转换语义学)The Semantics of Copy Constructors(拷贝构造函数之编译背后的行为)The Semantics of Constructors: The Default Constructor (默认构造函数什么时候会被创建出来)The Semantics of Data: Data语义学 深入探索C++对象模型 这些文章都获...
写一个小程序来统计函数调用时间,简单明了直接看代码,有三个文件,FunTimer.h , FunTimer.cpp ,FunTimerMan.cpp 分别如下:FunTimer.h文件#ifndef _FUNTIMER_H
#define _FUNTIMER_H#include <iostream>
#include <sys/time.h>
#include <string>
using namespace std;class FunTimer
{public:FunTimer();FunTimer(string funName);~FunTimer();private: string funName;timeval _start;timeval _end;};/**方法一#include <iost...
Linux C/C++调用shell命令后获取shell返回值项目中C/C++调用shell命令后,某系处理返回值的过程是以“临时文件”的方式进行;即shell命令执行后将返回值存放在临时文件(如temp.txt),C/C++程序再访问文件,获取shell的返回值。最经典的就是调用WiFi(iwlist wlan0 scan )扫描指令查询WiFi节点,然后解析获取WiFi数量、名称、信号强度、加密方式等信息。通过“临时文件”的方式交互数据,是比较简单、易用和易理解的方式,在多进...
#include <thread>2 #include <iostream>3 #include <mutex>4 using namespace std;5 mutex _mutex1;6 mutex _mutex2;7 int date1;8 int date2;9 int do_work_1()10 {11 cout << "thread_1 start" << endl;12 lock_guard<mutex> locker1(_mutex1);13 date1++;14 this_thread::sleep_for(chrono::seconds(1));15 lock_guard<mutex> locker2(_mutex2);16 date2++;17 cout << "thread_1 end" << endl;18...
自:http://blog.chinaunix.net/u1/47395/showart_1768832.html有个业务需求需要通过curl 代理的方式来访问外网百度了一把,测试可以正常使用。记录下来方便后续查找 example: 1. http://curl.haxx.se/libcurl/c/example.html 2. http://www.libcurl.org/book: 1. http://www.linuxdevcenter.com/pub/a/linux/2005/05/05/libcurl.htmlothers: http://www.haxx.se/curl.html http://curl.haxx.se/lxr/source/docs/examples/==...
原文:http://www.cnblogs.com/zhangzl/p/7525240.html
一:前言进行linux下C/C++服务端后台开发的都知道,需要跟各种头文件打交道。比如使用printf函数则需要引用#include <stdio.h>,使用STL的map容器则要#include <map>,使用socket网络编程则要#include <sys/socket.h>,那么我考考你uint32_t是在哪个头文件定义的呢?sleep函数又是在哪个头文件?open和close是在同一个头文件里吗?是不是有点一时半会答不上来,有没有好的方法能梳理头文件呢,把头文件进行分门别类呢?答案是可以的...
(一)Android?Andoid是一个在linux上的,多用于移动终端的操作系统,不是类似redhat的服务器OS,也不是类似Windows的标准桌面OS,只是一种手持设备的较为简单的图形OS,Android应用程序使用Java开发。Android从linux kernel开出的分支,比如我的华为手机android是4.3,使用的linux kernel是3.4。android代码已经被linux kernel社区剔除。android由于继承了linux kernel代码,根据linux GPL规定即对开源代码的任何修改,都必须开源...
1.问:知道程序执行时间我们能够做什么?在《C++应用程序性能优化》一书中,假设大家读过相信大家一定对性能优化这一块很上心,文中总是对优化前后的时间对照很直观给我们一个感受。那么我们怎样利用C语言提供的库函数获取一个应用程序的各阶段的执行效率,通过数据分析出该程序的瓶颈而且做出对应的优化。本文给大家解说的clock()函数。2.我们首先看一看C/C++标准文档对于clock()函数的解说3.函数原型 clock_t clock (void);函数...
1. 安装C的帮助手册如果你使用的Linux发行版, 默认没有安装C语言的库函数MAN手册, 使用下面的方法解决: # sudo apt-get install manpages # sudo apt-get install manpages-de # sudo apt-get install manpages-de-dev # sudo apt-get install manpages-dev 2. 安装C++的帮助手册一般的Linux发行版不会默认安装C++的帮助手册. 安装方法如下http://gcc.gnu.org/mirrors.html是一个GCC的镜像站点进入http://mirrors-us...
(一)覆写:就是子类继承父类,但是子类和父类中都有同样的函数,程序调用的是子类中的函数 1 #include <iostream>2usingnamespace std;3class Father{4public:5void is_kill(void){6 cout<<"father‘s it skill"<<endl;7 }8};910class Son_public:public Father{
11public:
12void is_kill(void){
13 cout<<"Son‘s it skill"<<endl;
14 }
1516};
1718int main(int argc, char **argv)
1920{
21 Son_pu...
main.cpp#include<stdio.h>
#include<stdlib.h>
#include"mysqlInterface.h"int main()
{CMysqlInterface mysqlObj;mysqlObj.connect();return0;
}mysqlInterface.hclass CMysqlInterface
{public:CMysqlInterface();~CMysqlInterface();int connect();private:MYSQL* mysqlPtr;
};mysqlInterface.cpp#include"mysqlInterface.h"CMysqlInterface::CMysqlInterface()
{printf("CMysqlInterface\n");mysqlPtr = NULL;mysqlPtr = mysq...
.SUFFIXES:.c .o //.c和.o建立关联CC=gcc
SRCS=hello.c add.c //同时编译两个.c文件OBJS=$(SRCS:.c=.o)//ORJS=hello.o add.o
EXEC=hellostart: $(OBJS) //依赖hello.o add.o$(CC) -o $(EXEC) $(OBJS)@echo‘----------------ok------------‘.c.o:$(CC) -o $@ -c $<//自动根据$(OBJS) 中.o的数量循环编译, 直到编译完所有的.c文件clean:rm -f $(OBJS)/*‘).addClass(‘pre-numbering‘).hide();$(this).addClass(‘has-n...
Linux下安装Qt4有两大问题,一是环境变量,二是IDE(集成开发环境)。安装Qt4也有两种方法,一种是apt-get,一种是下载源码包,而后
一种方法已经人证实是最有可能不好使的方法。所以我最终采用了apt-get的方式。而apt-get也有两种方式(这就是Free
OS之不爽之处):新立得与命令行。这里强烈建议大家使用命令行方式!因为新立得里面的东西太乱,你很可能下载了一大堆东西却没一个是我们真正需要的,而
且下载完成后要自己去配置...
g++安装参考地址: http://sysads.co.uk/2014/07/install-gcc-gnu-4-9-1-on-ubuntu-14-04/当前Ubuntu的LTS版本为14.04,直接在apt-get命令安装的g++到不了5.0版本,不能获得全部的c++14的支持,所以必须安装5.0以上版本的g++,这里的方法如下:sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt-get updatesudo apt-get install g++-5– Remove the previous g++ version from the default applications list (if alre...