- 博客(109)
- 收藏
- 关注
原创 memento c++
#include#include#include class Memento{ public: char name[64]; int hp; int mp; Memento() { } Memento(char *name,int hp,int mp) { strcpy(this->name,name); this->hp=hp; thi
2017-07-25 11:20:07
409
原创 command c++
#include#include#include#include#includeusing namespace std;class Barbecuer{ public: int bake_mutton() { puts("chef is cooking mutton"); }; int bake_chicken() { puts("chef is c
2017-07-25 11:09:14
422
原创 mediator
#include#includeusing namespace std;class china;class india;class country;class mediator{public: china *chin; india *indi; mediator(){}; mediator(china *chin,india *indi); void send(str
2017-07-23 19:37:06
761
原创 c和c++混合调用
1.在c++代码中调用c代码由于c++本身兼容c,所以c++代码中可以调用任意的c库函数。c++本身是面向对象的,所以他的函数支持重载,具体的实现是通过在编译时,根据不同的参数和函数名来生成最终的函数调用,所以c++和c的编译时截然不同的。在c++中调用c函数,只需要在c函数的头文件中,在要调用的函数声明前加上extern "C",声明这个函数以c的编译方式编译,这样在c++中引用
2017-05-30 22:13:35
470
原创 factoryMethod
factory.h//****************************************/* define operate abstract class*/typedef struct _operate{ int numA; int numB; int(*getresult)(struct _operate *this);}Operate;/* decl
2017-04-22 18:12:55
350
原创 simple_factory
#includetypedef struct _operate{ int a; int b; int (*getResult)(struct _operate *p);}Operate;typedef struct _add{ Operate add; int c;}Add;typedef struct _sub{ Operate sub; int c;}Sub;
2017-04-16 11:10:08
285
原创 singleton
#include#include#include#includepthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;typedef struct _object{ int data; void* (*data_func)(void *);}singleton;singleton *getSingleton(){ stati
2017-04-16 11:06:19
246
原创 python入门笔记--基础语法
由于在LINUX上编写自动编译工具可能会用到makefile或者是oe中的bitbake,所以利用闲暇时间看了看菜鸟教程中的python的写法,果然python的语法有些地方还是比较奇特的,有的逻辑块也有自己的特色,很有意思,所以在此总结一下python中的基础语法,同时也算是自己复习下python的基础吧,记录下有些不太明白的地方首先python是和shell一样,是一个脚本语言,也支持交互
2016-12-04 14:25:48
567
转载 Makefile:2:*** missing separator. Stop
在make命令后出现这种错误提示,是提示第2行没有分隔符。例如:1 target:prerequisites2 command……改为:1 target:prerequisites2 command……就可以了。在Makefile文件中,命令必须以【tab】键开始。在.vimrc中添加以下代码后
2016-10-16 12:27:46
9333
转载 undefined reference to 'floor'/undefined reference to
undefined reference to 'floor'/undefined reference to `&undefined reference to 'pow'/undefined reference to `& 今天用linux编译一个程序的时候遇到了一个小问题,如标题所示,先说解决方法在gcc 编译的时候加上-lm选项就好了,呵呵原因:floor
2016-10-16 12:15:55
3817
转载 svn revert merge
第一种情况:改动没有被提交(commit)。这种情况下,使用svn revert就能取消之前的修改。svn revert用法如下:# svn revert [-R] something其中something可以是(目录或文件的)相对路径也可以是绝对路径。当something为单个文件时,直接svn revert something就行了;当something为目录时,需要加上参
2016-10-14 09:26:20
1217
原创 C语言中dlsym的小例子
dlopen dlsym dlclose dlerror主要是实现在其他代码中通过符号调用动态库中的函数或者变量,具体如下编写一个动态库的.c文件,libshare.c编译 gcc -g -fPIC -shared libshare.c -o libshare.so编写调用函数的文件mymain.c 编译mymain.cgcc mymain.c -ldl生成a.
2016-10-03 10:27:32
5889
原创 QT按键事件
QT中的按键事件:新建一个干净的工程首先在mainwindow.cpp中加入QMessageBox.h1.在MainWindow 类的头文件中添加事件处理函数的声明,这块要用slots宏声明这是一个信号槽的响应函数,到时候有信号发生就会在信号槽中找到这个信号public slots:void click_func();2.在MainWindows类的构造函数中连接信号和信号
2016-09-03 10:57:17
1871
转载 linux中GUN makefile自动生成
作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。 在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可 以象常见的GNU程序一
2016-08-28 23:31:12
3210
原创 linux shell脚本中执行ntpclient
#!/bash/sh# Program:# execute ntpclient cmd # Version: v1.0# Author: hp#function syntime() { echo "synchronizing time...." echo "server is $1" echo "execute cmd..." if te
2016-08-15 21:32:55
2590
原创 编码风格
最近上班由原来的android转为linux c开发,由于以前没有做过c方面的编码工作,又常听人说一个良好的编码风格不仅可以有助于读者更容易理解你的代码,而且更能体现你专业的编码规范,所以我打算抽点时间学些c的代码规范。一下都是从网上搜的一些编码规范,加上我平时看的一些开源代码总结出来的。要说明的是主流的编码风格有好几种,不必循规蹈矩,选择一种适合自己的最重要1.关键字if, while,
2016-08-14 14:58:30
525
翻译 链路层套接字
最近看了下udhcp的源代码,其中会根据LISTEN_MODE建立不同的socket进行通信,一个是普通的传输层UDP套接字,另外一个是链路层的套接字,由于本人才疏学浅,所以在网上搜罗了一下有关链路层套接字的东东,在此记录一下。 链路层套接字也叫原始套接字(raw packet),可以接收网卡上的数据帧,换句话说是直接从网卡上拿数据,可以今夕流量统计和分析,socket的建立有一下几种:
2016-08-14 13:57:29
1963
转载 TextView使用SpannableString设置复合文本
TextView通常用来显示普通文本,但是有时候需要对其中某些文本进行样式、事件方面的设置。Android系统通过SpannableString类来对指定文本进行相关处理,具体有以下功能:1、BackgroundColorSpan 背景色 2、ClickableSpan 文本可点击,有点击事件3、ForegroundColorSpan 文本颜色(前景色)4、MaskFilter
2015-11-20 20:23:00
390
转载 HTTP报文格式
HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。HTTP请求报文一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。or<request-line><headers><
2015-11-02 20:19:36
465
转载 排序算法
(1)“冒泡法” 冒泡法大家都较熟悉。其原理为从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i],则交换它们,一直比较到a[n]。同理对a[1],a[2],...a[n-1]处理,即完成排序。下面列出其代码:void bubble(int *a,int n) /*定义两个参数:数组首地址与数组大小*/ { int i,j,temp; for(i=0;i<n-1;i+
2015-09-23 22:42:28
423
转载 Socket高性能IO模型浅析
服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:(1)同步阻塞IO(Blocking IO):即传统的IO模型。(2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。(3)IO多路复用(IO Multiplexi
2015-09-18 10:01:21
1268
转载 C++与Java比较之向上转型
前几天看Mars老师的视频教程,里面有这样一句“一个引用能调用那些成员属性(变量和函数),取决于引用的类型;调用的方法取决于引用所指向的对象。(向上转型)”今天在使用C++的upcast时感觉不对啊?网上搜了下原来Java和C++的向上转型的机制不同。C++向上转型使用静态邦定,所以在无法识别类类型引用或指针调用对应类的成员函数方法。c++示例:[c
2015-08-19 10:55:31
739
转载 android应用生命周期
Android官方文档和其他不少资料都对Activity生命周期进行了详细介绍,在结合资料和项目开发过程中遇到的问题,本文将对Activity生命周期进行一次总结。Activity是由Activity栈进管理,当来到一个新的Activity后,此Activity将被加入到Activity栈顶,之前的Activity位于此Activity底部。Acitivity一般意义上有四种状态:
2015-08-05 14:46:09
506
转载 字符串指针与char型指针数组
一、字符串指针字符串是一种特殊的char型数组,指向char类型数组的指针,就是字符串指针。与普通指针一样,字符串指针在使用前也必须定义。字符串与char数组的区别在于长度,字符会自动在尾部加上一个长度‘\0’,而char型数组的长度就是其字符的个数。字符串长度是字符个数+1。例:[cpp] view plaincopyprint?#
2015-07-26 13:49:53
1920
转载 C++ 无名对象
可以直接调用构造函数产生无名对象。 例如,下面的代码在函数fn()中,创建了一个无名对象:class Student{public: Student(char*);};void fn(){ Student("Randy"); // 此处为无名对象} 无名对象可以作为实参传递给函数,可以拿来拷贝构造一个新对象,也可以初始化一个引用的声明。 例如,
2015-07-26 12:45:51
922
原创 C#实体模型增删改查
namespace ConsoleApplication7{ class Program { static void Main(string[] args) { //user hp = new user(); //hp.name = "郝鹏"; //hp.age = 25;
2015-05-24 12:56:03
3858
转载 eclipse智能输入设置
一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse ,MyEclipse本身有很多选项是默认关闭的,要开发者自己去手动配置。如果开发者不清楚的话,就不知道Eclipse ,MyEclipse的代码提示功能一样能像Microsoft Visual Studio的代码提 示功能一样强大。先举个简单的
2015-04-17 23:45:37
652
转载 C#beginInvoke和endinvoke
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace ConsoleApplication6{ class Program { public delega
2015-04-09 14:34:01
595
原创 C#代理和拉姆达表达式
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication5{ class Program { delegate int Mydelegate(int paramA,int
2015-04-09 13:31:07
864
原创 android屏幕touch只响应DOWN事件
public boolean onTouch(View arg0, MotionEvent arg1) { // TODO Auto-generated method stub switch(arg1.getActionMasked()){ case MotionEvent.ACTION_DOWN: Toast.makeText(context, "down",Toast.L
2015-03-17 11:17:23
2512
翻译 java回调函数
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个
2015-03-17 10:59:34
419
原创 linux内核模块安装hello
首先编写内核模块源码#include#includeMODULE_LICENSE("GPL");static int hello_init(void){ printk("hello brother\n"); //表示打印的优先级,一共有8个好像 return 0;}static void hello_exit(voi
2015-02-02 22:40:32
772
转载 MSDN离线文档
MSDN离线版 发现不少人都在找这个,无意中找到VS2012旗舰版 选好语言,建议选那个ISO的下载不支持直接点击的朋友可以自己打开下面网址MSDN:http://www.microsoft.com/zh-cn/download/details.aspx?id=34794VS2012:http://www.microsoft.com/zh-cn/downlo
2014-12-25 16:24:40
1205
转载 实体、协议、服务和服务访问点
实体、协议、服务和服务访问点 当研究开放系统中的信息交换时,往往使用实体(entity)这一较为抽象的名词表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。 协议是控制两个对等实体(或多个实体)进行通信的规则的集合。协议的语法方面的规则定义了所交换的信息的格式,而协议的语义方面的规则就定义了发送者或接收者所要完成的操作,例如,在何种条件下数据必
2014-12-02 15:44:28
5895
转载 win7+iis+cgi+c语言
#includevoid main(){printf("Content-type:text/html"); printf("\n\n"); printf("Hello World!"); }
2014-11-11 14:17:16
1288
转载 win7下建立web服务器
1.打开控制面板,选择并进入“程序”,双击“打开或关闭Windows服务”,在弹出的窗口中选择“Internet信息服务”下面所有地选项,点击确定后,开始更新服务。 2.更新完成后,打开浏览器,输入“http://localhost/”回车,如果此时出现IIS7欢迎界面,说明Web服务器已经搭建成功。 3.当web服务器搭建成功后,我们下一步所要做的就是把我们开发的网站安装到W
2014-11-05 09:54:12
669
转载 java中的字符创比较
熟悉C++的人对于两个字符串比较的代码一定很了解: (string1==string2) 但在java中,这个代码即使在两个字符串完全相同的情况下也会返回false Java中必须使用string1.equals(string2)来进行判断 补充 如果: string s1=new String("Hello"); string s2=new String("Hel
2014-10-25 10:04:15
554
转载 C++构造函数&继承方式
构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法)。因此,在创建子类对象时,为了初始化从父类继承来的数据成员,系统需要调用其父类的构造方法。如果没有显式的构造函数,编译器会给一个默认的构造函数,并且该默认的构造函数仅仅在没有显式地声明构造函数情况下创建。构造原则如下:1. 如果子类没有定义构
2014-10-20 22:25:41
602
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人