[原创]linux简单之美(一)
原文链接:linux简单之美(一)
话说windows也有syscall,这是必须的。但是win的syscall可以直接call吗?可以是可以但是破费周折,搞成SDT之类的复杂概念。下面看看linux是如何做的吧。
section .data
msg db "hello hopy!",0x0a section .text
global _start _start:
mov eax,
mov ebx,
mov ecx,msg
mov edx,
int 0x80 mov eax,
mov ebx,
int 0x80
关键是系统调用号要知道,开始找的是usr/include/asm-gen*/unistd.h,可是都不对。后来找的是usr/include/x86_64_linux_gnu/asm/下的头文件,有2个,分别对应x86和x64.、编译连接指令如下:
nasm -f elf main.asm
ld main.o
运行,段转储错误鸟,查了一下,本猫用的是x64位的linux,所以要生成x64位的程序,或者指明是x86的程序,我选择后者:
ld -m elf_i386 -o main main.o
哦鸟!
[原创]linux简单之美(一)的更多相关文章
- [原创]linux简单之美(二)
原文链接:linux简单之美(二) 我们在前一章中看到了如何仅仅用syscall做一些简单的事,现在我们看能不能直接调用C标准库中的函数快速做一些"复杂"的事: section . ...
- [原创]linux简单之美(三)
原文链接:linux简单之美(三) 在linux简单之美(二)中我们尝试使用了C库的函数完成功能,那么能不能用syscall方式来搞呢?显然可以! section .data ft db sectio ...
- Linux学习之十七-配置Linux简单的脚本文件自启动
配置Linux简单的脚本文件自启动 在Linux中使用shell脚本解决一些问题会比单独执行多条命令要有效率,脚本文件规定命名以.sh结尾,最基本的规则就是其内容是命令,想要脚本文件开机自启动,就需要 ...
- <转>简单之美——系统设计黄金法则
作者: 包云岗 发布时间: 2012-05-19 13:06 阅读: 3036 次 推荐: 1 原文链接 [收藏] 最近多次看到系统设计与实现的文章与讨论,再加上以前读过的其他资料以及自 ...
- 简单之美 | ZooKeeper应用案例
简单之美 | ZooKeeper应用案例 ZooKeeper应用案例
- [原创]Linux下网络性能测试Netperf工具介绍及安装
[原创]Linux下网络性能测试Netperf工具介绍及安装 1 官方网站 http://www.netperf.org/netperf/ 2 Netperf介绍 Netperf是一种网络性能的测试工 ...
- ReLU激活函数:简单之美
出自 http://blog.csdn.net/cherrylvlei/article/details/53149381 导语 在深度神经网络中,通常使用一种叫修正线性单元(Rectified lin ...
- 五大Linux简单命令解决系统性能问题
五大Linux简单命令解决系统性能问题 2010-12-17 10:07 James Turnbull TechTarget中国 字号:T | T 管理Linux主机的性能看起来经常象是在变魔术一样. ...
- Linux简单Shell脚本监控MySQL、Apache Web和磁盘空间
Linux简单Shell脚本监控MySQL.Apache Web和磁盘空间 1. 目的或任务 当MySQL数据库.Apache Web服务器停止运行时,重新启动运行,并发送邮件通知: 当服务器磁盘的空 ...
随机推荐
- linux常用命令详解 (一) 安装和登录命令
Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作.文件存 Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取. ...
- [Linked List]Remove Linked List Elements
Total Accepted: 43183 Total Submissions: 160460 Difficulty: Easy Remove all elements from a linked l ...
- [Tree]Binary Tree Preorder Traversal
Total Accepted: 97599 Total Submissions: 257736 Difficulty: Medium Given a binary tree, return the p ...
- switch 与 whille相互套用
一直自以为还比较了解C++,这两天写个小工具结果出现了个bug,查了几个小时.现在才发现我这么水. switch是C++后来推出了,目的在于提高代码结构清晰度. 但是switch与while连用时是有 ...
- QT5中的pro文件中为何要加入"QT += widgets"
在pro文件里写"QT+=widgets"表示引入QtWidget这个module,qmake在生成makefile的时候,会设置好include path 和 lib path, ...
- 多个DLL合并,DLL合并到EXE
1:) 下载 http://download.microsoft.com/download/1/3/4/1347C99E-9DFB-4252-8F6D-A3129A069F79/ILMerge.msi ...
- mysql 的基础知识
这边博客,纯为了摘录 mysql 常用的一些操作,如果你已经懂了,可以忽略,谢谢. 最基本的mysql操作 1.查询mysql 的版本和当前时间信息 select version(),current_ ...
- Weex 开发入门
去年也听说过 React Native 技术,现在好像很多大公司都在这套技术中踩坑,在开发自己的UI.工作中涉及不到,一直没有学习相关的知识. 并且听说阿里的 vue native,一直很期待.前段时 ...
- Struts2 注解(转)
转自:http://blog.csdn.net/wwwqvod/article/details/6214431 也叫Zero Configuration(零配置),它省去了写xml文件的麻烦,可以直接 ...
- 一个Windows C++的线程池的实现
此线程池所依赖的线程类,请参看<一个Windows C++的线程类实现>: http://blog.csdn.net/huyiyang2010/archive/2010/08/10/580 ...