`
deepfuture
  • 浏览: 4335473 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:79445
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:68425
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:101560
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:281325
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:14622
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:65625
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:31341
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45239
社区版块
存档分类
最新评论

linux-汇编-调用C库函数

阅读更多

深未来技术原创,http://deepfuture.iteye.com

1、使用GCC编译

.section .data
  output:
  .asciz "http://deepfuture.iteye.com\n" 
.section .text
   .global  main
   main:
   push $output
   call printf
   addl $4,%esp
   push $0
   call exit

 

 

 

# gcc -o  test test.s
# ./test
http://deepfuture.iteye.com
2、使用汇编器编译,使用动态链接-dynamic-linker,要求后跟SO库,可使用find / -name ld*.so来寻找链接库,每个LINUX版本不一样,链接库不一样,笔者用的是puppy linux,链接库名为ld-linux.so.2

.section .data
  output:
  .asciz "http://deepfuture.iteye.com\n" 
.section .text
   .global  _start
   _start:
   push $output
   call printf
   addl $4,%esp
   push $0
   call exit

 

# as -o test.o test.s
# ld -lc -dynamic-linker /lib/ld-linux.so.2 -o test test.o
# ./test
http://deepfuture.iteye.com

1
0
分享到:
评论

相关推荐

    实验五Linux系统调用的编程技术

    2仔细分析汇编代码调用系统调用的工作过程,特别是参数的传递方式等。 3总结部分需要阐明自己对“系统调用的工作机制”的理解。 实验条件: 1、装有Linux操作系统的微型计算机; 实验过程 系统调用的库函数就是读者...

    嵌入式Linux视频教程全套2011新版-国嵌嵌入式培训下载地址

    -国嵌内核驱动进阶班-5-3(Linux系统调用).avi -国嵌内核驱动进阶班-5-4(Proc文件系统).avi -国嵌内核驱动进阶班-5-5(内核异常分析).avi -国嵌内核驱动进阶班-5-6(必修实验).avi -第6天(简单字符设备驱动...

    嵌入式Linux C编程入门(第2版) PPT

    第8章 嵌入式linux c语言基础——arm linux内核常见数据结构 225 8.1 链表 226 8.1.1 链表概述 226 8.1.2 单向链表 226 8.1.3 双向链表 233 8.1.4 循环链表 234 8.1.5 arm linux中链表使用实例 ...

    Linux内核源代码分析视频课-视频教程网盘链接提取码下载.txt

    本课程从理解计算机硬件的核心工作机制(存储程序计算机和函数调用堆栈)和用户态程序如何通过系统调用陷入内核(中断...12.使用库函数API和C代码中嵌入汇编代码触发同一个系统调用 13.给MenuOS增加time和time-asm命令

    mini2440国嵌视频教程+课件+工具+软件+镜像+教程源码下载地址

    -国嵌内核驱动进阶班-5-3(Linux系统调用).avi -国嵌内核驱动进阶班-5-4(Proc文件系统).avi -国嵌内核驱动进阶班-5-5(内核异常分析).avi -国嵌内核驱动进阶班-5-6(必修实验).avi -第6天(简单字符设备驱动...

    深入分析Linux内核源码.chm

    2.6 Linux中的汇编语言 第三章中断机制 3.1 中断基本知识 3.2中断描述符表的初始化 3.3异常处理 3.4 中断处理 3.5中断的后半部分处理机制 第四章 进程描述 4.1 进程和程序(Process and Program) 4.2 Linux中的进程...

    asm2web:汇编中用于Noobs的代码直播!

    仍然会写一篇有关内容的文章:D Linux Syscall列表(64位): ://filippo.io/linux-syscall-table/ x86-64指令和说明列表: : X86-64调用约定: : 程序集中的数据类型: :库函数fread fopen printf malloc /免费...

    深入分析Linux内核源码

    深入分析Linux内核源码 ...2.3 基本C库函数 2.4 Linux内存管理中Slab缓冲区 2.5 Linux中的VFS 2.6 Linux的连网 2.7 网络设备支持 2.8 模块支持 2.9 硬件接口 2.10 块设备 2.11 USB 设备 2 参考文献

    Linux C 一站式学习

    2. C标准I/O库函数与Unbuffered I/O函数 3. open/close 4. read/write 5. lseek 6. fcntl 7. ioctl 8. mmap 29. 文件系统 1. 引言 2. ext2文件系统 2.1. 总体存储布局 2.2. 实例剖析 2.3. 数据块寻址 2.4. 文件和...

    宋劲彬的嵌入式C语言一站式编程

    2. C标准I/O库函数与Unbuffered I/O函数 3. open/close 4. read/write 5. lseek 6. fcntl 7. ioctl 8. mmap 29. 文件系统 1. 引言 2. ext2文件系统 2.1. 总体存储布局 2.2. 实例剖析 2.3. 数据块寻址 2.4. 文件和...

    国嵌笔记。全集全集

    二、C语言和汇编混合编程 14 第2季-裸奔吧-ARM\下学期 15 一、MMU初始化 15 二、中断 16 三、 NAND FALSH 17 四、 uart 控制器 18 五、 MDA 控制器 18 六、液晶显示器 18 七、 触摸屏(采用TS中断) 18 八、 网卡...

    Linux动态链接库的使用

    程序在调用库函数时,只需要连接上这个库即可。例如下面实现一个简单的整数四则运输的动态链接库,定义的caculate.h和caculate.c两个文件,生产libcac.so动态链接库。 针对二进制文件有用的命令 查看文件类型 file...

    c语言编写单片机技巧

    1. C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言...

    uboott移植实验手册及技术文档

    关,如果没有定义这个宏,系统调用 drivers/nand/nand.c 中的 nand_init();否则调用自己在 本文件中的 nand_init()函数,本例使用后者。fs2410.c代码如下: #if defined(CONFIG_CMD_NAND) typedef enum { NFCE_...

    Reversing:逆向工程揭密

    3.5.3 系统调用机制 91 3.6 可执行文件格式 93 3.6.1 基本概念 93 3.6.2 映像区段(Image Sections) 95 3.6.3 区段对齐(Section Alignment) 95 3.6.4 动态链接库 96 3.6.5 头部 97 3.6.6 导入与导出 99 3.6.7 ...

    自己动手写操作系统(含源代码).part2

    你需要什么技术基础 在本书中所用到的计算机语言只有两种:汇编和 C语言。所以只要你具备汇编和 C语言的经验,就可以阅读本书。除对操作系统常识性的了解(比如知道中断、进程等概念)之外,本书不假定读者具备其他...

    自己动手写操作系统(含源代码).part1

    你需要什么技术基础 在本书中所用到的计算机语言只有两种:汇编和 C语言。所以只要你具备汇编和 C语言的经验,就可以阅读本书。除对操作系统常识性的了解(比如知道中断、进程等概念)之外,本书不假定读者具备其他...

Global site tag (gtag.js) - Google Analytics