自己动手写操作系统源代码编译,链接错误,求解。

问题描述

自己动手写操作系统源代码编译,链接错误,求解。

自己动手写操作系统源码(D:Tinixchapter5h),编译结果如下:
$ MAKE
ld -s -Ttext 0x30400 -o kernel.bin kernel/start.o lib/string.o lib/klib.o kernel/kernel.o
kernel/start.o:start.c:(.text+0xe): undefined reference to disp_str'
kernel/start.o:start.c:(.text+0x37): undefined reference to
memcpy'
kernel/start.o:start.c:(.text+0x63): undefined reference to disp_str'
kernel/kernel.o: In function
start':
kernel/kernel.asm:(.text+0x8): undefined reference to gdt_ptr'
kernel/kernel.asm:(.text+0xd): undefined reference to
cstart'
kernel/kernel.asm:(.text+0x14): undefined reference to `gdt_ptr'
Makefile:82: recipe for target 'kernel.bin' failed
MAKE: *** [kernel.bin] Error 1
环境:windows8 + cygwin

时间: 2024-09-05 21:10:34

自己动手写操作系统源代码编译,链接错误,求解。的相关文章

自己动手写操作系统程序调试cpu关闭

问题描述 自己动手写操作系统程序调试cpu关闭 直接在裸机上运行此程序,电脑直接重起. 本人的cpu是i5 4590,程序该如何改? %include "pm.inc" org 7c00h jmp LABEL_BEGIN ;[SECTION.GDT] ;GDT LABEL_GDT: Descriptor 0,0,0 ;空描述符 LABEL_DESC_CODE32: Descriptor 0,SegCode32Len-1,DA_C+DA_32 ;代码段,32位 LABEL_DESC_VI

ubuntu bochs-新手,学习自己动手写操作系统,卡在bochs配置,求大神救助

问题描述 新手,学习自己动手写操作系统,卡在bochs配置,求大神救助 1.bochs版本:bochs-2.6.8 编译前配置:提取文件,打开目录,在终端中打开; ./configure --enable debugger --enable-disasm sudo make sudo make install 安装完成,提前安装了一些需要的程序,未报错. 2.编辑bochesrc sudo gedit 然后用gedit打开/ect/bochs-init/bochsrc,编辑内容如下: #####

c++今天写双链表时链接错误LNK2001,代码如下(还未写完想测试一下结果没通过)

问题描述 c++今天写双链表时链接错误LNK2001,代码如下(还未写完想测试一下结果没通过) 发到贴吧上问了一次,回复较少,所以又来问一遍 代码在贴吧上http://tieba.baidu.com/f?ct=335675392&tn=baiduPostBrowser&sc=42728746794&z=2748059140#42728746794<!--

中断处理-关于自己动手写操作系统中嵌套中断的处理

问题描述 关于自己动手写操作系统中嵌套中断的处理 Oragner's 操作系统中时钟中断, 为了防止嵌入中断这里添加了 k__reenter 这个变量初始化为 -1, 在发生第一次中断时 inc [k_reenter] 将, k_reenter 变为0, 将进入输出 ^ 进入 delay 中由于延时将再次导致中断,这时 k_reenter 变为1,退出中断处理 k_reenter 变为0 当再次进入中断时, 每次 k_reenter 都变为 1 了,按道理应该直接就退出中断处理了,但为什么还是会

自己动手写ASP.NET ORM框架(二):AdoHelper支持多数据库操作的封装(2)

在上一篇文章中已经分析了AdoHelper的部分代码,接下来将继续分析剩余的部分代码,这里分析ExecuteNonQuery方法的实现,代码块1-1: // <summary>//通过提供的参数,执行无结果集的数据库操作命令// 并返回执行数据库操作所影响的行数.// </summary>// <param name="connectionString">数据库连接字符串</param>// <param name="co

自己动手构造编译系统:编译、汇编与链接

"自己动手系列" 自己动手构造编译系统 编译.汇编与链接 范志东  张琼声  著 图书在版编目(CIP)数据 自己动手构造编译系统:编译.汇编与链接 / 范志东,张琼声著. -北京:机械工业出版社,2016.7 (自己动手系列) ISBN 978-7-111-54355-8 I. 自- II. ①范- ②张- III. 编译器 IV. TP314 中国版本图书馆CIP数据核字(2016)第163077号 自己动手构造编译系统:编译.汇编与链接 出版发行:机械工业出版社(北京市西城区百万

自己动手构造编译系统:编译、汇编与链接导读

Preface前 言 本书适合谁读 本书是一本描述编译系统实现的书籍.这里使用"编译系统"一词,主要是为了与市面上描述编译器实现的书籍进行区分.本书描述的编译系统不仅包含编译器的实现,还包括汇编器.链接器的实现,以及机器指令与可执行文件格式的知识.因此,本书使用"编译系统"一词作为编译器.汇编器和链接器的统称. 本书的目的是希望读者能通过阅读本书清晰地认识编译系统的工作流程,并能自己尝试构造一个完整的编译系统.为了使读者更容易理解和学习编译系统的构造方法,本书将描述

链接错误-C++ berkeley db安装后编译链接的奇怪错误。

问题描述 C++ berkeley db安装后编译链接的奇怪错误. 我在centos6.5上安装了berkeley db 6.1.6,是下源代码在本系统上重新编译安装的. 库如下: ll -rt /usr/local/lib -rwxr-xr-x 1 root root 2141065 11月 14 19:46 libdb-6.1.so -rw-r--r-- 1 root root 929 11月 14 19:46 libdb-6.1.la -rw-r--r-- 1 root root 3250

oracle-android-因为糟糕的JDK版本,在ubuntu12.04上不能连续编译android操作系统源代码

问题描述 android-因为糟糕的JDK版本,在ubuntu12.04上不能连续编译android操作系统源代码 我已经试了一整天在我的ubuntu12.04 64位操作系统来编译android操作系统源代码 由于一些原因,我困在了安装Sun/Oracle JDK 1.6这个版本这个阶段.我已经试了很多命令(当然包括官方链接)但是最后也没弄成,有JDK 1.7或者是openJDK,或者是没有jdk-tools 用JDK成功编译代码(或者是代码的一部分)的直接的步骤是什么? 解决方案 正确给an