stderr和stdout详细解说

今天又查了一下fprintf,其中对第一个参数stderr特别感兴趣。 int fprintf(FILE *stream,char *format,[argument]); 在此之前先区分一下:printf,sprintf,fprintf。 1,printf就是标准输出,在屏幕上打印出一...

2017-12-19 23:16:40

阅读数:35

评论数:0

12个有趣的C语言面试题及答案

1.gets()函数 问:请找出下面代码里的问题: #include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("...

2017-09-19 21:09:49

阅读数:279

评论数:0

进程有一个全局变量i,还有有两个线程。i++在两个线程里边分别执行100次,能得到的最大值和最小值分别是多少?

i++不是原子操作,也就是说,它不是单独一条指令,而是3条指令: 1、从内存中把i的值取出来放到CPU的寄存器中 2、CPU寄存器的值+1 3、把CPU寄存器的值写回内存 多核CPU最小值为2,最大值200 i++是由3条指令构成的运算操作,两个线程在...

2017-09-15 13:38:30

阅读数:336

评论数:0

C++中可以在构造函数中调用另一个构造函数吗?

题目如下:问下列代码的打印结果为0吗? [cpp] view plain copy #include    #include    using namespace std;      struct CLS   {       int m_...

2017-09-15 10:16:16

阅读数:116

评论数:0

C++拷贝构造函数(深拷贝,浅拷贝)

对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a=88; int b=a;  而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。  #include iostream> using namespac...

2017-09-14 16:27:39

阅读数:104

评论数:0

如何创建一个类只能在堆(栈)上建立对象

在C++中,类对象的建立方式有两种,一种是静态建立类对象,如A a;另一种是动态建立类对象,如A* p = new A; 这两种方式是有区别的:     静态建立类对象:是指全局对象,静态对象,以及分配在栈区域内的对象,编译器对它们的内存分配是在编译阶段就完成的,是通过直接...

2017-09-12 16:19:51

阅读数:125

评论数:0

C++中cout,cerr,clog的区别

C++标准库定义了4个IO对象,cin,cout,cerr,clog .cin 为标准输入,cout,cerr,clog都是输出流对象,三者有什么区别呢? cout 与cerr的主要区别是cout的输出信息可以被重定向,而cerr则只能输出到标准输出(显示器)上。  例如下面程序编...

2017-09-12 10:39:21

阅读数:137

评论数:0

C/C++ 复杂的声明

入门阶段,看见类似void * (*(*fp1)(int))[10];的复杂声明,晕乎。直接略过,这种复杂的东东,不应该是入门者需要去学习的知识。 进阶阶段,这种知识就必需得搞得清清楚楚了,不然还等到高阶阶段才学习这个么? 现在,就来带大家了解一下,这类复杂的声明怎么解? ...

2017-09-07 20:55:09

阅读数:100

评论数:0

thread join和detach区别

在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存储器资源(如栈)是不释放的。相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放。    ...

2017-09-05 17:28:51

阅读数:98

评论数:0

add-apt-repository PPA(转)

add-apt-repository 是由 Python-software-properties 这个工具包提供的,只有ubuntu 0910之后版本支持。可以把命令源添加到/etc/apt/sources.list中。   # 我们先了解一下 PPA 的定义: PPA 全称为 P...

2017-08-27 21:33:03

阅读数:210

评论数:0

Ubuntu 16.04 安装可视化数据库浏览器 SQLite Browser 3.8

SQLite Browser是可视化数据库浏览器浏览器,用于创建,设计和编辑数据库文件,是SQLite兼容的可视化工具。界面简单干净,完全免费! SQLite Database Browser可以管理所有iphone数据,基于 Qt 库开发,主要是为非技术用户创建、修改和编辑 SQLite ...

2017-08-27 21:25:16

阅读数:621

评论数:0

关于VMware下安装VMware tools,安装文件没有出现问题的解决

VMware tools是为使用VMware提供了很大的便利。所以安装VMware tools很必要。 由于实验需要,我需要安装在VMware下安装两个操作系统(为Linux系统,使用Ubuntu)。顺利安装好第一个以后,我在为第二个ubuntu安装VMware tools遇...

2017-08-27 17:29:09

阅读数:313

评论数:0

Your display is too small to run Menuconfig!

在终端窗口执行编译内核时,要保证窗口的大小,如果窗口过小,则会显示如下错误信息 Your display is too small to run Menuconfig! 把你的终端最大化就行了。

2017-08-11 23:28:52

阅读数:353

评论数:0

64位ubuntu14.04安装交叉编译器arm-linux-gcc出现没有那个文件或目录

这是因为电脑是64位的,装的ubuntu是64位的操作系统。而你下载的arm-Linux-gcc是32位的程序。需要安装一个32位的支持库。 解决方法:输入命令sudo apt-get install libx32z1-dev

2017-08-11 13:29:32

阅读数:364

评论数:0

MySQL的数据库和数据表的简单操作

MySQL的数据库和数据表的简单操作,用户注册、修改权限、数据库和数据表的创建、修改和删除的语句。 [cpp] view plain copy /***************************用户*********************...

2017-08-07 00:04:23

阅读数:157

评论数:0

S3C2451嵌入式简介

嵌入式系统简介 IEEE定义:   嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, orassist the operation of equipment, machinery or plants)。   可...

2017-08-06 23:59:33

阅读数:323

评论数:0

STM32之启动文件理解

原文地址:STM32之启动文件理解一作者:Roberl      在嵌入式应用程序开发过程里,由于使用C语言编程,基本很少涉及到机器底层寄存器的执行过程,一般都会直接在main函数里开始写代码,似乎main成为了理所当然的起点,尽管从C程序的角度来看程序都是直接从main函数开始执行。然而,...

2017-08-06 23:51:09

阅读数:124

评论数:0

QWidget,QMainWindow和QDialog的区别

在创建Qt Gui Application时,需要你在QWidget,QMainWindow和QDialog中选择一个Base Class。但是这三个类具体都有些什么作用,而且彼此之间都有什么区别并不知道,所以上网搜了搜资料,下面是官方手册的内容:       QWidget Class...

2017-08-06 00:02:11

阅读数:107

评论数:0

Qt编程——信号与槽机制

最近开始学习Qt,Qt 是一个跨平台的C++应用程序框架,支持Windows、Linux、Mac OS X、Android、iOS、Windows Phone、嵌入式系统等。也就是说,Qt 可以同时支持桌面应用程序开发、嵌入式开发和移动开发,覆盖了现有的所有主流平台。你只需要编写一次代码,发布到不...

2017-08-05 23:58:58

阅读数:160

评论数:0

shell知识点

(1)$ cat file 文件內容会被洗掉           $ cat  file 此处会没有内容          > file 会先清空 file,然後才读进         因此再重定位读进file的为空         最后cat显示的file为...

2017-08-05 23:50:30

阅读数:169

评论数:0

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