
Linux C/C++
文章平均质量分 57
江南3708
好好学习,天天向上。
展开
-
马鞍数—C语言实现
马鞍数的输出原创 2016-05-23 11:59:35 · 3891 阅读 · 0 评论 -
Linux 信号
信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。 信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。 一、信号的基本概念 本节先介绍信号的一些基本概念,然后给出一些基本的信号类型和信号对...转载 2018-03-13 16:23:22 · 193 阅读 · 0 评论 -
C++局部变量、全局变量、静态变量(堆、栈、静态存储区)
1 static关键字1.1 隐藏eg://a.c文件中char a = 'A';void msg(){ printf("Hello\n");}//main.c文件中extern char a;printf("%c",a);输出结果:A Hello 所有未加static前缀的全局变量和函数都具有全局可见性,其它的源文件也能访问。a是...转载 2018-12-03 15:30:42 · 429 阅读 · 0 评论 -
C/C++进程内存的分布
内存分布只要分为五部分:text(文本段),initialize data(数据段),uninitialized data(为初始化数据段),heap(堆),stack(栈),如下图: 1.文本段也叫代码段,是对象文件或内存中程序的一部分,其中包含可执行指令。文本段在堆栈的下面,是防止堆栈溢出覆盖它。,通常代码段是共享的,对于经常执行的程序,只有一个副本需要存储在内存中,...转载 2019-01-03 09:59:37 · 257 阅读 · 0 评论 -
c++常见面试题30道
1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要...转载 2019-01-03 10:22:46 · 155 阅读 · 0 评论 -
经典C++笔试题目100例
第一部分:C++与C语言的差异(1-18)1、C 和 C++ 中 struct 有什么区别? Protection行为 能否定义函数 C 无 否,但可以有函数指针 C++ 有 可以,默认是private 2、C++中的 struct 和 class 有什么区别?【参考答案】从语法上讲,class和struct做类型定义时只有两点区...转载 2019-01-03 10:24:29 · 6621 阅读 · 0 评论 -
C++经典面试题
1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要...转载 2019-01-03 10:32:18 · 236 阅读 · 0 评论 -
C/C++经典程序
1.输出结果比较1)输出结果:212)输出结果:12。虽然循环只进行了一次,但是对!X++来说,X还是进行了自加运算。2.指针运算输出结果8,8.程序运行时,printf语句是从右往左进行读取,此时ptr指向8.因为*和++的优先级相同,结合顺序是从右到左,所以*ptr++等价于*(ptr++)。3.运算符优先级4.利用位运算实现两个整数的加法运算,请用代码...转载 2019-01-03 10:34:10 · 4388 阅读 · 0 评论 -
C语言二维数组作为形参传递
C语言中,把二维数组作为形参进行传递,有以下几种形式:case 1: void output_printf(int **a,int row,int col) 限制条件:形参二重指针,实参也要求二重指针,用于二维数组动态分配case 2: void output_printf(int a[4][6],int row,int col)限制条件: 显示的指定行列case 3: v...原创 2019-01-22 10:48:38 · 7838 阅读 · 2 评论 -
Makefile 常用内嵌函数
一、文本处理函数以下是GNU make内嵌的文本(字符串)处理函数。1 $(subst FROM,TO,TEXT)函数名称:字符串替换函数—subst。函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。返回值:替换后的新字符串。示例:$(subst ee,EE,feet on the street)替换“feet on the street”中的“ee”为...转载 2019-02-27 17:27:42 · 449 阅读 · 0 评论 -
LINUX SIGNAL
在终端使用kill -l 命令可以显示所有的信号。$kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR213) SIGPIPE 14) SIGALRM 15) SIGTERM 16) ...转载 2018-03-13 16:22:01 · 213 阅读 · 0 评论 -
ubuntu 16.04 安装opencv3.3
opencv 源文件:https://opencv.org/opencv-3-3.html安装步骤:sudo apt-get install build-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devs原创 2017-11-23 19:59:06 · 644 阅读 · 0 评论 -
杨辉三角-金字塔格式输出
杨辉三角的打印输出原创 2016-05-22 21:29:54 · 4828 阅读 · 0 评论 -
约瑟夫换问题
约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3,1。原创 2016-05-22 19:27:26 · 410 阅读 · 0 评论 -
ARM-Linux程序开发
原文地址:http://www.cnblogs.com/beer/archive/2011/05/05/2037449.html目录一、Arm-Linux程序开发平台简要介绍... 31.1程序开发所需系统及开发语言... 31.2系统平台搭建方式... 4二、Linux开发平台搭建... 52.1安装虚拟工作站... 52.2安装Linux虚拟机... 5转载 2017-08-02 16:04:01 · 863 阅读 · 0 评论 -
Linux中查看CPU信息
cat /proc/cpuinfo中的信息processor 逻辑处理器的id。physical id 物理封装的处理器的id。core id 每个核心的id。cpu cores 位于相同物理封装的处理器中的内核数量。siblings 位于相同物理封装的处理器中的逻辑处理器的数量。 1 查看物理CPU的转载 2017-03-26 19:16:41 · 372 阅读 · 0 评论 -
页面缓存-内存与文件的那些事
转: 页面缓存-内存与文件的那些事原文标题:Page Cache, the Affair Between Memory and Files原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高手的精彩文章翻译一下。一来自己复习,二来与大家分享。]转载 2016-12-21 11:57:35 · 286 阅读 · 0 评论 -
剖析程序的内存布局
转: 剖析程序的内存布局 原文标题:Anatomy of a Program in Memory原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高手的精彩文章翻译一下。一来自己复习,二来与大家分享。]转载 2016-12-21 11:55:27 · 221 阅读 · 0 评论 -
Cache: 一个隐藏并保存数据的场所
转: Cache: 一个隐藏并保存数据的场所原文标题:Cache: a place for concealment and safekeeping原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高手的精彩文章翻译一下。一来自己复习,二来与大家分享。]转载 2016-12-21 11:54:28 · 396 阅读 · 0 评论 -
在Mac、Linux 终端显示 Git 当前所在分支
转载地址:http://blog.youkuaiyun.com/summer_dream_journey/article/details/502146091 进入你的home目录cd ~112 编辑.bashrc文件vi .bashrc113 将下面的代码加入到文件的最后处function git_branch { branch="`git branch 2转载 2017-08-15 08:33:32 · 656 阅读 · 0 评论 -
hello.ko---linux设备驱动程序
Hello World 模块#include #Include static int __init hello_init(void){printk("This is my first driver module-hello.ko\n");printk("Hello World\n");return 0;}static void __exit he原创 2017-11-20 15:44:20 · 364 阅读 · 0 评论 -
在linux环境下编译运行OpenCV程序的两种方法
第一种方法:Command Line(使用命令行参数的方法)gcc Test.c -o Test `pkg-config --cflags --libs opencv`./Test baboon.jpg 在上面的编译命令中我们其实用到了一个工具“pkg-config”,它主要有以下几个功能:检查库的版本号。如果所需要的库的版本不满足要求,它会打印出错误信息,避免链接转载 2017-11-23 19:42:15 · 1086 阅读 · 0 评论 -
工作队列(workqueue) create_workqueue/schedule_work/queue_work
项目需要,在驱动模块里用内核计时器timer_list实现了一个状态机。郁闷的是,运行时总报错“Scheduling while atomic”,网上搜了一下:"Scheduling while atomic" indicates that you've tried to sleep somewhere that you shouldn't - like within a spinlock-p...转载 2019-03-22 18:36:01 · 2174 阅读 · 0 评论