oguro的博客

留下思索,分享感悟

排序:
默认
按更新时间
按访问量

g++编译报错原因分析 makefile : *** commands commence before first target. stop.

在编译linux C++代码时出现了makefile :70: *** commands commence before first target. stop. 经过检查发现,原因是修改makefile的include头文件时,在第70行的‘\’后多输入了空格 我们知道, 在C/C++语言中,...

2016-11-22 13:13:21

阅读数:1241

评论数:0

g++编译报错原因分析 format ?.d?.expects argument of type ?.nt?. but argument 3 has type ?.

这是我工作时在linux环境下C++编译出现过的警告: warning: format ?.d?.expects argument of type ?.nt?. but argument 3 has type ?.int64 {aka long long unsigned int}?.[-Wfor...

2016-09-28 20:59:42

阅读数:1886

评论数:0

g++编译报错原因分析“was not declared in this scope"

在编译程序的时候,提示:“was not declared in this scope"。 经过分析后发现原因如下: 1.变量、函数、或者类未声明或者定义。这是最简单的情况~却是我经常犯的错误(基本也是这几个原因中可能性最大的) 另外,网上有人指出以下原因也会导致该提示错误: 2....

2016-09-28 20:57:18

阅读数:14763

评论数:0

番茄助手Visual Assist X的简单使用以及消除中文注释警告

使用VS2013写C++代码时会发现VS2013没有自带的拼写提示,而番茄助手正是基于VS平台的一款小插件。本人在平时学习和工作中使用的是Visual Assist X 10.8.2043完美破解版的番茄助手。 安装好番茄助手后,在拼写代码时番茄助手自动帮助检索拼写,如下图。 这样对于比较复杂的...

2016-09-27 22:14:39

阅读数:12552

评论数:0

g++编译报错原因分析cannot allocate an object of abstract type“XXX ”

原因分析: 通过查看代码发现C++程序在创建一个类的对象时报错了 错误类型是Cannot allocate an object of abstract type“XXX” 原因是我的类继承自一个基类,该基类中的函数存在纯虚函数,而我的类中没有重载全部纯虚函数。 解决方法: 在基类中申...

2016-09-26 23:03:59

阅读数:4913

评论数:0

g++编译报错原因分析expected type-specifier before

原因:因为没有引入相应的头文件,加入相应的.h可以解决

2016-09-26 22:57:48

阅读数:11739

评论数:0

sqlserver设计表不允许保存更改,阻止保存要求重新创建表的更改

sqlserver修改数据库表结构时提示【不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改"选项。】 处理方法 点击SQL2008菜单【工具】【选项】 打开了选项对话框,我们展开DESIGNERS 取...

2017-07-01 20:49:26

阅读数:3865

评论数:0

wireshark如何抓取本机包

在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信。但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以。           具体方法如下:         1.以管理员身份运行cmd         2.rout...

2017-07-01 20:47:54

阅读数:857

评论数:0

wireshark如何抓取本地socket包

wireshark如何抓取本机包         在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信。但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以。          具体方法如下:         1...

2017-06-26 14:05:34

阅读数:3010

评论数:1

《Head First设计模式》之策略模式

1

2017-04-04 19:52:11

阅读数:485

评论数:0

C 中 static 的常见作用

C程序一直由下列部分组成:   1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令;      2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。      3)非初始...

2017-01-26 22:26:17

阅读数:162

评论数:0

C++的string类IO输入

使用cin // strtype4.cpp -- line input #include #include // make string class available #include // C-style string library...

2017-01-03 21:21:18

阅读数:425

评论数:1

linux多线程结束时,回收子进程问题

当已经有SIGCHLD信号时,我们调用waitpid是可以立即返回的。所以经常在SIGCHLD处理程序中调用waitpid函数,这样就可以期望他总能立即返回,但是如果在执行SIGCHLD处理程序期间又有子进程终止,因为unix不对信号排队,如果多于一个子进程终止,则会导致信号丢失,在这种情况下,如...

2016-12-26 20:25:06

阅读数:297

评论数:0

linux将参数传递到信号处理函数

普通的信号处理函数,在注册时一般为:singal(信号,信号处理函数),此种都不能把需要的参数传递到处理函数里面。 如果想将参数也传递到信号处理函数里面,需要用到sigaction结构体。注册函数为sigaction函数。 发送信号并传递信息用sigqueue函数。 #incl...

2016-12-26 20:21:21

阅读数:2299

评论数:0

linux文件锁

文件锁 借助 fcntl函数来实现锁机制。 操作文件的进程没有获得锁时,可以打开,但无法执行read、write操作。 fcntl函数: 获取、设置文件访问控制属性。 int fcntl(int fd, int cmd, ... /* arg */ ); 参2: F_SETLK (st...

2016-12-25 12:30:13

阅读数:250

评论数:0

linux进程互斥锁

进程间同步 互斥量mutex 进程间也可以使用互斥锁,来达到同步的目的。但应在pthread_mutex_init初始化之前,修改其属性为进程间共享。mutex的属性修改函数主要有以下几个。 主要应用函数: pthread_mutexattr_t mattr 类型: 用于定义mutex锁的...

2016-12-25 12:27:30

阅读数:611

评论数:0

linux信号量

信号量 进化版的互斥锁(1 --> N) 由于互斥锁的粒度比较大,如果我们希望在多个线程间对某一对象的部分数据进行共享,使用互斥锁是没有办法实现的,只能将整个数据对象锁住。这样虽然达到了多线程操作共享数据时保证数据正确性的目的,却无形中导致线程的并发性下降。线程从并行执行,变成了串行执行...

2016-12-25 12:23:21

阅读数:276

评论数:0

linux条件变量

条件变量: 条件变量本身不是锁!但它也可以造成线程阻塞。通常与互斥锁配合使用。给多线程提供一个会合的场所。 主要应用函数: pthread_cond_init函数 pthread_cond_destroy函数 pthread_cond_wait函数 pthread_cond_timed...

2016-12-25 12:20:35

阅读数:196

评论数:0

linux读写锁

读写锁 与互斥量类似,但读写锁允许更高的并行性。其特性为:写独占,读共享。 读写锁状态: 一把读写锁具备三种状态: 1. 读模式下加锁状态 (读锁) 2. 写模式下加锁状态 (写锁) 3. 不加锁状态 读写锁特性: 1. 读写锁是“写模式加锁”时, 解锁前,所有对该锁加锁的线...

2016-12-25 12:15:04

阅读数:328

评论数:0

linux互斥锁

互斥量mutex Linux中提供一把互斥锁mutex(也称之为互斥量)。 每个线程在对资源操作前都尝试先加锁,成功加锁才能操作,操作结束解锁。 资源还是共享的,线程间也还是竞争的, 但通过“锁”就将资源的访问变成互斥操作,而后与时间有关的错误也不会再产生了。   但,应注...

2016-12-25 12:12:55

阅读数:325

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭