查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天道酬勤 玩物丧志

用勇气去改变可以改变的事情,用胸怀去包容无法改变的事情,用智慧去判断两者的区别

 
 
 
 

天气

 
 
模块内容加载中...
 
 
 
 
 

日历

 
 
模块内容加载中...
 
 
 
 
 

日志分类

 
 
日志分类列表加载中...
 
 
 
 
 
 
 
博友列表加载中...
 
 
 
 
 
 
 
 
留言列表加载中...
 
 
 
 
 
 
 
 

gcc 预编译 查看内建宏

2016-9-13 10:08:13 阅读67 评论0 132016/09 Sept13

gcc 预编译, 可查看符号位置

gcc -c 改成 -E

查看内建宏

arm-elf-gcc -E -dM -<1.c >1.txt

其中1.c为空文件

gcc默认的链接脚本linkcmd

我们系统下是 -Wl,verbose 注意中间是“,"而且没有空格

核心提示:首先声明不是讲lds语法的  在<<程序员的自我修养-链接装载与库>>一书中曾提到ld默认使用的链接脚本  说默认在/usr/lib/ldscripts/下  结果我找了半天没找到我的系统是fedora8  find/-name*lds*找不到...

首先声明不是讲lds语法的

  在  <<程序员的自我修养-链接装载与库>>一书中曾提到ld默认使用的链接脚本

  说默认在/usr/lib/ldscripts/下

  结果我找了半天没找到  我的系统是fedora 8

  find / -name *lds*  找不到 找script也找不到 晕了

  后来查了下发现可以用ld -verbose查看默认的lds

  输出如下:

  GNU ld version 2.19.51.0.14-34.fc12 20090722

作者  | 2016-9-13 10:08:13 | 阅读(67) |评论(0) | 阅读全文>>

【转载】C语言中嵌入汇编代码

2016-7-18 13:40:05 阅读80 评论0 182016/07 July18

C语言怎样嵌入汇编

TIPS:在编译过程汇中,汇编代码块是原封不动地送到汇编语言编译阶段的。

& F. W% e1 x) `一、为什么会用到汇编?6 v& }, T, m+ M( c# Q) y  M: K

1.为了提高速度和效率。不过这种情况很少了,现在C/C++编译器的优化很厉害了。" J* F' O' f0 y& i+ |* X0 Z

2.为了实现某些C语言中不具备、但为不同的机器所特有的功能。这是主要原因。* N1 n, F0 L4 k% B+ x7 q! a

3.为了利用通用的汇编语言例程。也常会遇到。3 `$ |4 J# D1 `6 g2 M# c8 t# a8 e

二、何时使用汇编?

8 W6 ?' i* F6 s; s  g第一种情况是,绝对没有其他方法可以使用。4 p) ?8 Y: p' b; v

第二种情况出现在某个C语言程序的执行时间必须减少的时候。

. |" x; t+ _! O, L* e* s8 ^三、如何嵌入汇编?- |& `; P/ o% F0 d& W) d' v1 S2 K

Turbo C  :

8 W; d! K3 n7 N- x! ~1 s1.使用预处理程序的伪指令#asm和#endasm,#asm用来开始一个汇编程序块,而#endasm指令用于该块的结

& d/ ~+ c, l9 L! a- E束。

作者  | 2016-7-18 13:40:05 | 阅读(80) |评论(0) | 阅读全文>>

晚安日志 - 2016年6月30日

2016-6-30 21:43:38 阅读149 评论0 302016/06 June30

宝宝,今天妈妈去产检,听产房的护工说,要多走动走动,宝宝你就会顺利出来,我也建议她白天没事的时候,多练练有助于生产的呼吸和动作,听听胎教音乐。白天爸爸去上知识产权公需课,是为了能够评中级职称,将来能给你上户口。下午施总对工控项目现状表达了不满,其实,我也对现状表示不满,项目混乱,工期拖延,我需要对工控梳理架构,分解任务,确定各任务的产出,交互的数据结构体,明确分工与时间,严格执行,可能爸比要加班了。。。总是把工作带回家里,爸比也觉得对不起你和妈妈,让我们一起熬过这段时间吧,爸比要更加成熟起来

作者  | 2016-6-30 21:43:38 | 阅读(149) |评论(0) | 阅读全文>>

【转载】qemu源码分析-添加默认虚拟设备(以串口为例)

2016-6-25 20:45:54 阅读47 评论0 252016/06 June25

在vl.c中的main函数:

if (display_type == DT_NOGRAPHIC) {

        if (default_parallel)

            add_device_config(DEV_PARALLEL, "null");

        if (default_serial && default_monitor) {

            add_device_config(DEV_SERIAL, "mon:stdio");//没有

        } else if (default_virtcon && default_monitor) {

            add_device_config(DEV_VIRTCON, "mon:stdio");

        } else {

            if (default_serial)

                add_device_config(DEV_SERIAL, "stdio");

            if (default_virtcon)

作者  | 2016-6-25 20:45:54 | 阅读(47) |评论(0) | 阅读全文>>

GNU风格 ARM汇编语法指南 2

2016-2-23 11:41:30 阅读244 评论0 232016/02 Feb23

6、  GNU汇编程序中的常数

<1>    十进制数以非0数字开头,如:123和9876;

<2>    二进制数以0b开头,其中字母也可以为大写;

<3>    八进制数以0开始,如:0456,0123;

<4>    十六进制数以0x开头,如:0xabcd,0X123f;

<5>    字符串常量需要用引号括起来,中间也可以使用转义字符,如: “You are welcome!\n”;

<6>    当前地址以“.”表示,在GNU汇编程序中可以使用这个符号代表当前指令的地址;

<7>    表达式:在汇编程序中的表达式可以使用常数或者数值, “-”表示取负数, “~”表示取补,“<>”表示不相等,其他的符号如:+、-、*、 /、%、<、<<、>、>>、|、&、^、!、==、>=、<=、&&、|| 跟C语言中的用法相似。

7、  GNU ARM汇编的常用伪操作

在前面已经提到过了一些为操作,还有下面一些为操作:

l          数据定义伪操作: .byte,.short,.long,.quad,.float,.string/.asciz/.ascii,重复定义伪操作.rept,赋值语句.equ/.set ;

l          函数的定义;

l          对齐方式伪操作 .align;

作者  | 2016-2-23 11:41:30 | 阅读(244) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 

网易新闻资讯

 
 
 
 
新闻标题 
列表加载中...
 
 
 
 
 

发现好博客

 
 
列表加载中...
 
 
 
 
 
 
 
 

上海市 徐汇区 双鱼座

 发消息  写留言

 
嵌入式实时操作系统 ARM平台解决方案 基础软件
 
近期心愿嵌入式实时操作系统 监控 日志 imx6 zynq7000
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 
 
 
 
 
 
 
网易云音乐 曲目表歌词秀
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018

登录  
 加关注