当前位置:首页 » 编程软件 » nasm编译

nasm编译

发布时间: 2022-11-06 08:35:17

A. 在ubuntu 10.10安装好了nasm 可是我想编译一段代码却总是错误

意思是org指令 后边的没有偏移量或者偏移量是无效的,改改试试看。

B. 如何在Windows下编译开源项目,比如NASM等

一般开源项目的源码里,解压以后都会有README这个文档,按照他里面说的方法来做就行了
windows平台下一般需要用到nmake,因为基本都针对的vc平台,或者mingw
所以涉及到配置namke和gnu make的编译环境,vc的话直接启动vs控制台,然后在里面输入nmake -f makefile就行了
gnu make也一样

不过我觉得直接下个二进制文件包就行了噻,没必要自己重新编译一次,费时费力
开源项目,只要不是编译出来很大的,都会在放出最新版本的同时添加二进制文件包的下载,直接下载一个就行了,比如nasm,我就直接下那个nasmXXXX.zip(xxx是版本号)

C. 我下了个nasm编译器,但不知道应该怎么使用,麻烦用过的人可以教教我,谢谢!!!

一般用nasm都是把汇编文件.asm编译成执行文件.bin格式的二进制文件

先要找到你想编译的文件,我的是在F盘OS文件夹下!

第一步:先转到你自己的文件夹下!如图,先输入F:

跳到F:目录下,再用cd命令转换路径(OS是我自己的文件夹下,你自己用你自己的)

第二步:就是编译了!如图nasma.asm-ot.bin

其中a.asm是你要编译的文件,t.bin是编译后的文件,名字自定!

编译之后就已经成功了!!!

D. 怎么在64位系统下编译nasm

用记事本写代码
用命令编译

nasm -f <format> <filename> [-o <output>]
-f后面是输出格式,具体的用nasm -hf查询
filename是代码文件名
-o后面是输出文件名

如果输出类型的是一种object file的话要用链接器链接

一切操作都要在命令行下完成,如果不习惯命令行操作不建议用

E. 请问NASM编译器在哪下载,谁能给我一个官网的下载地址,谢谢!

1,官网:http://www.nasm.us/
2,官网最新版下载地址:http://www.nasm.us/pub/nasm/releasebuilds/2.11.09rc1/win32/nasm-2.11.09rc1-installer.exe

3,送上学习网站:http://www.mouseos.com/assembly/nasm02.html

F. NASM的源代码用什么编译器来编译

visual
studio
code仅仅是一个
代码编辑器
(相当于一个
高级记事本
),不是IDE。
要写java代码建议使用eclipse

G. 用nasm编译时出现unable to open inlude file 'pm.inc'(源代码第一行是 %include “pm.inc”)

pm.inc 应当是你自己提供的。

H. 用NASM能将asm结尾的文件编译成exe么该怎么处理

可以吧,选择相应平台的版本,nasm -h 有简单的帮助的。
对 x86 也可以使用 Masm5/6 或 Masm32 来做,分别是 dos16 类或 Win32 类的程序。
不同汇编软件,对 asm 源程序的格式要求和支持也可能是不一样的。

I. win7的操作系统打不开汇编编译器(yasm&nasm)

编译器本身就是这样的,单纯是个命令行工具,无窗口。
你应该找的是与此对应的IDE,
或直接用命令行编译链接。

J. 如何在64位的Linux系统上使用汇编和C语言混合编程 第2页

编译和链接的时候使用的指令:(AMD处理器,64位操作系统)
编译链接指令
1 nasm -f elf foo.s -o foo.o
2 gcc -c bar.c -o bar.o
3 ld -s -o foobar bar.o foo.o
汇编语言用nasm编写并用nasm编译器编译,而C语言用的是gcc编译,这些都没有问题,但是在链接的时候出错了,提示如下:
ld: i386 architecture of input file `foo.o' is incompatible with i386:x86-64 output
google了一下,意思就是nasm 编译产生的是32位的目标代码,gcc 在64位平台上默认产生的是64位的目标代码,这两者在链接的时候出错,gcc在64位平台上默认以64位的方式链接。
这样在解决的时候就会有两种解决方案:
<1> 让gcc 产生32位的代码,并在链接的时候以32位的方式进行链接
在这种情况下只需要修改编译和链接指令即可,具体如下:
32位的编译链接指令
1 nasm -f elf foo.s -o foo.o
2 gcc -m32 -c bar.c -o bar.o
3 ld -m elf_i386 -s -o foobar foo.o bar.o
具体的-m32 和 -m elf_i386 请自行查阅gcc (man gcc)

如果你是高版本的gcc(可能是由于更新内核造成的),可能简单的使用-m32 的时候会提示以下错误(使用别人的历程,自己未曾遇到):
> In file included from /usr/include/stdio.h:28:0,
> from test.c:1:
> /usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory
> compilation terminated.
这应该是缺少构建32 位可执行程序缺少的包,使用以下指令安装:
sudo apt-get install libc6-dev-i386
此时应该就没有什么问题了。

热点内容
wemall微商城源码 发布:2025-05-14 22:15:20 浏览:803
隆地优选交易密码是什么 发布:2025-05-14 21:53:23 浏览:94
强酸强碱存储柜 发布:2025-05-14 21:45:16 浏览:564
车辆参数配置包括什么 发布:2025-05-14 21:31:03 浏览:163
怎么引入安卓项目 发布:2025-05-14 21:26:39 浏览:824
游戏辅编程 发布:2025-05-14 21:18:49 浏览:687
三菱plc一段二段密码什么意思 发布:2025-05-14 21:17:16 浏览:528
电脑开机密码忘记了怎么破解 发布:2025-05-14 21:09:40 浏览:57
pythondict格式 发布:2025-05-14 21:09:38 浏览:887
落叶片拍摄脚本 发布:2025-05-14 20:40:49 浏览:800