- 博客(25)
- 资源 (7)
- 收藏
- 关注
原创 常见的简单笔试题却又要小心的题
1:#include #include int main(void) { char a[]="123456789"; char *p = "123456789"; char a2[100] = "123456789"; printf("%d\n%d\n%d\n" ,sizeof(a),sizeof(p),sizeof(a2)); printf("%d
2017-09-26 20:44:01 295
原创 C++复习第四天 引用不简单(本质是指针)
/*************************数组引用*************************/#include#include#define Main(n) main##n()// int a[10]// int (&ra)[10]// int a[2][5]// int (&ra)[2][5]int main1(){ int a[10] =
2017-09-20 23:25:38 277
转载 C++——左值引用和右值引用
这篇blog主要介绍一下左值和右值的概念及应用陷阱1、左值和右值的概念 左值是可以放在赋值号左边可以被赋值的值;左值必须要在内存中有实体; 右值当在赋值号右边取出值赋给其他变量的值;右值可以在内存也可以在CPU寄存器。 一个对象被用作右值时,使用的是它的内容(值),被当作左值时,使用的是它的地址。2、引用
2017-09-20 16:50:41 187
原创 C++复习第四天 函数重载
/*************************函数重载*********************/#include#include//参数的个数,参数的类型不同,顺序不同,返回值无关//extern "C"{} //按照c标准编译而不是按照C++标准编译void go(int a){ std::cout << a;}void go(double a){ std::c
2017-09-19 18:23:59 290
原创 C++复习第四天 命名空间
/********************命名空间的嵌套**************************/#include namespace space1{ int a(10); char *str("gogogo"); namespace space2 //命名空间的嵌套 { int a(9); }}namespace
2017-09-19 16:47:06 276
原创 C++复习第四天 auto关键字
#include#include/*auto关键字常用于两种情况:1:自动变量,自动获取类型,输出,泛型2:自动变量,可以实现自动循环一维数组自动循环的时候,对应的必须是常量,所以二维数组循环是内部循环就要注意auto关键字是在C++11中引入,所以有些编译器不支持*/void main1(){ auto num = 10.9;//自动变量,自动匹配类型 auto num
2017-09-19 13:59:02 324
原创 C++复习第三天 运算符重载
#include #include #include using namespace std;class mystring{public: //private char *s;public: mystring() { s = new char[1024]; cout << "mystring" << endl; }
2017-09-18 14:11:21 391
原创 C++复习第一天 静态类成员实现单例模式
/*********************************mystring.h*******************************/#ifndef MYSTRING_H#define MYSTRING_H#include //一个单例的能够动态分配内存的字符串class mystring{private: static mystring *self;
2017-09-18 08:32:21 399
原创 C++复习第二天 友元
友元(走后门!) C++中控制类对象私有部分的访问,但有时候需要在类的外部访问类的私有成员,这种情况下C++提供了友元机制。#include //原文地址:http://blog.csdn.net/oyhb_1992using namespace std;class demo0; //前置声明class demo{private: int i;//只能在类的内部
2017-09-17 15:07:39 192
原创 C++复习第一天 C++基本概念
目 录1 开始学习C++ 41.1 C++的头文件 41.2 命名空间 41.3 更严格的类型转化 41.4 new和delete 41.5 内联函数 41.6 引用 51.7 函数的重载 5
2017-09-16 13:24:43 224
原创 ucosii 任务的同步与通信复习
转载请注明原文地址:普通信号量:Sem 互斥信号量可能出现优先级翻转,低优先级任务获得信号量还没有释放时发生任务切换,切换到高优先级任务,高优先级任务获得不了信号量而让出CPU,低优先级任务继续运行,从表象上看就是低优先级任务在获得信号量后优先级反而比高优先级任务优先级高,原因是:信号量的约束高于优先级的约束。互斥型信号量:Mutex 互
2017-09-08 09:58:56 638
转载 选择排序
昨日写完冒泡排序,和大多数人的感觉一样,太简单,丝毫没有挑战性。但楼主是一个追求踏实平稳的人,希望地基牢固,也为方便后面学习和研究更加高深的算法。但在研究效率上还有待提高,楼主一定好好努力。今天将会写完选择排序 和 插入排序,本文主在选择排序。一. 算法描述 选择排序:比如在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的N-1个数
2017-09-07 14:28:39 389
原创 参考内核块设备驱动写:z2ram.c在内存中开辟一块空间来模拟成块设备
#include #include #include #include #include #include /*参考内核块设备驱动写:z2ram.c在内存中开辟一块空间来模拟成块设备*//*转载请注明原文地址:http://blog.csdn.net/oyhb_1992测试方法:1 insmod2 格式化 mkdosfs /dev/xxx3 挂载块设备 mount /de
2017-09-06 14:32:57 1304 1
转载 linux驱动调试--段错误之oops信息分析
发生段错误原因就是访问了不该访问的地址,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地址等。下面根据Oops信息来分析一下段错误first_drv.c点击(此处)折叠或打开#include linux/module.h>#include linux/kernel.h>#include linux/fs.h>#incl
2017-09-06 14:27:21 982
原创 .section 段
#define printf 0x43e11ad0.section .text //表明下面全是代码段.global _start_start: push {lr} //printf("bss_start=0x%x, bss_end=0x%x\n", __bss_start__, __bss_end__); //给printf传递3个参数 ldr r0, =fmt ldr
2017-09-03 21:54:19 810
原创 汇编条件判断 eq neq
汇编条件判断 eq neqcpsr[30]是zero位,主要保存最近的一次“是否相等”的条件判断的结果zero位状态由以下指令来设置cmp r0 , r1cmp r0 , #100除cmp之外,运算操作都可以通过加上s后缀来设置修改zero位结果几乎所有的指令(除了cmp和加了s后缀的指令:说白了就是修改zero位的指令
2017-09-03 19:36:40 8848
原创 汇编中调用printf:传递参数超过4个,用栈传递参数
/********************* 汇编中调用printf:传递参数超过4个,用栈传递参数*****************//********************** uboot中go命令调用这个裸机程序 **************************///转载请注明原文地址:http://blog.csdn.net/oyhb_1992/article/detai
2017-09-03 16:21:38 2862
原创 汇编中调用printf
/********************* 汇编中调用printf*****************//********************** uboot中go命令调用这个裸机程序 **************************///转载请注明原文地址:http://blog.csdn.net/oyhb_1992/article/details/77816900#def
2017-09-03 15:42:46 7965 1
原创 汇编函数调用c程序
汇编函数调用c程序程序实例:按键控制led灯/************************* types.h **************************/#typedef unsigned char u8;#typedef unsigned int size_t;/************************* led_key.c **************
2017-09-03 15:39:33 967
原创 c程序调用汇编函数
c程序调用汇编函数程序实例:按键控制led灯/************************* main.c **************************/static int (*printf)(const char *format,...) = (int (*)(const char *format,...))0xc3e11ad0void _start(){ pri
2017-09-03 15:32:39 1653
原创 汇编函数封装 pc寄存器 符号标签 数字标签
1:汇编函数封装(pc寄存器)读:每次读取该寄存器的值,都能获得当前正在执行的指令的实际地址+8写:将一个地址写入该寄存器,将立即触发跳转,本质就是函数指针,注意此时没有+8的偏移量图片1汇编函数封装 mov lr , pc pc b func //调用函数 pc+4 ... pc+8 (这就是为什么读取pc时会自动pc+8原因了!) ..
2017-09-03 11:57:07 693
原创 ARM指令集 mov指令,ldr=伪指令,地址访问指令ldr,str,位运算指令and,orr,eor,bic,逻辑位移指令lsl,lsr
每条arm指令都会操作寄存器,寄存器就类似于c语言中的变量,r0~12通用寄存器1:mov指令mov r0,#100 //r0=100 常量整数只有12位来存储mov r0,r1 //r0=r1mvn r0,#100 //r0=~100mvn r0,r1 //r0=~r1 2:使用伪指令(编译器会预处理为CPU认识的指令)ld
2017-09-03 10:40:46 3440
原创 裸机程序常识2 CPU运行的7种模式 system and user ,supervisior ,Abort ,IRQ,FIQ , undefined
7种模式system and user应用程序运行模式,低权限,其实7中模式中也只有这一种模式是地权限的模式,其他全是高权限模式!supervisior操作系统和裸机运行的模式Abort发生错误,如应用层直接访问内核空间的内存:IO寄存器地址等IRQ,FIQ中断模式undefined未定义指令,例如定义了一个函数指针并且给它赋了地
2017-09-03 10:34:09 500
转载 ARM指令中如何判断一个立即数是 有效立即数
ARM指令中如何判断一个立即数是有效立数在ARM处理器的汇编语言中,对指令语法格式中的的常数表达式有这样的规定:“该常数必须对应8位位图,即常数是由一个8位的常数循环移位偶数位得到的。”首先从ARM指令系统的语法格式说起。一条ARM指令语法格式分为如下几个部分:{}{S} ,{,}其中,是指令助记符,是必须的,而{}为指令执行条件,是可选的,如果不写
2017-09-03 10:30:06 2650
原创 裸机程序常识1 _start程序入口标号 -Ttext链接地址作用,如何使用uboot中的函数
裸机程序常识裸机程序常识1:我们的逻辑程序是直接运行在UBOOT之上的,2:裸机程序是没有任何库函数的,包括printf3:裸机程序时直接操作寄存器的4:裸机程序的入口是_start()函数连接器会检查是否有_start函数存在,而编译器和连接器是按照函数定义的顺序来排列代码,所以_start函数作为整个bin文件的入口,类似于main函数,必须定义在所有其他函数的前面
2017-09-02 21:31:47 1548
Oracle goldengate 从入门到精通 15课.rar
2021-07-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人