导航:首页 > 源码编译 > 重新编译

重新编译

发布时间:2022-02-01 23:33:09

㈠ make会把所有的代码都重新编译

make程序实际上是对makefile文件进行解析和执行。
需要编译的文件,引用的头文件,库等都需要在makefile文件中进行标识。
make程序会根据makefile的内容进行编译。

所以make并不一定编译所有的代码。需要查看makefile文件中定义了哪些文件需要进行编译。

㈡ 如何重新编译linux内核

  1. 因为一般电脑安装的系统都是Windows,而整个编译过程都需要在Linux环境下实现,所以最好是在虚拟机里安装Linux系统来完成这一过程。我使用的虚拟机是VMware-workstation-full-v7.1.4。

  2. 然后,我们需要下载一个较高版本的Linux系统的镜像文件,安装在虚拟机上,作为编译环境。我使用的是ubuntu-11.04-desktop-i386。之所以选择较高版本,是因为它的界面比较方便用户操作。

  3. 然后下载一个Linux内核源代码文件,将它保存到虚拟机上新安装的系统中去。并解压到/usr/src目录。我使用的是linux-2.6.36,下载低版本的原因是,小巧轻便,易于编译。

    解压命令如下:

    bzip2 -d linux-2.6.36.tar.bz2

    tar -xvf linux-2.6.36.ta

  4. 修改/usr/src/linux-2.6.36/kernel/sys.c文件,在文件末尾增加一个系统调用函数。自行编写一个简单的程序即可,只为测试用。

  5. 修改/usr/src/linux-2.6.36/arch/x86/kernel/syscall_table_32.S,为新添加的程序配置系统调用号。

  6. 在/usr/src/linux-2.6.36/arch/x86/include/asm/unistd_32.h中配置系统调用表。

  7. 下面就是最重要的内核编译与安装:

    首先配置编译信息,使其生成适合当前机器的Makefile,输入make oldconf ig。

    接着还要输入make menuconfig,在字符界面下进行必要的细微的修改。

    然后要经过四步编译过程(直接输入命令即可):

    (1)make bzImage

    将内核编译为压缩映像,存储在源码根目录下的“System.map”文件中。

    (2)make moles

    编译各个模块。

    (3)sudo make moles_install

    安装模块

    (4)sudo make install

    安装内核

    第(2)(3)步等待时间较长,可能需要数个小时,请耐心等待。

    无报错的话重启进入GRUB界面,就可以看到新编译的内核了。

  8. 按回车键进入我们编译的目标内核中,用关键词搜索查看新增加的系统调用“my call”是否已在内核中:

  9. 编写测试程序,调用新添加的系统调用:

  10. 测试成功,说明系统调用添加成功,进而说明内核编译成功!

    以上的办法你可以试一下,希望对你有所帮助。

㈢ 为什么我每次编译都是全部重新编译

这里以 C 语言源程序为例,关于多个 C 语言源程序之间的编译顺序问题,这个是需要在 MAKEFILE 文本文件中写好多个 C 语言源程序的先后顺序,如果多个 C 语言源程序的先后顺序写得不正确,那么在使用 make 命令对 MAKEFILE 做相关的编译、链接工作时,就会把所有的 C 源程序都重新编译一遍(按理说:MAKEFILE 的最大好处就是:如果整个软件系统由多个 C 源程序组成,但是只有其中一个 C 源程序的代码做了改动,而其他的源代码没有做过任何改动,那么只需要编译这一个 C 源程序的目标文件,然后再和别的 C 源程序的目标文件相链接,生成最终的可执行文件即可,而不需要整个都重新编译一遍)
你再仔细把你的 MAKEFILE 文件中的各个 C 源程序的先后次序检查一下,看看是否写得有错误。写 MAKEFILE 文件也是需要仔细推敲的。

㈣ oracle数据库开发人员说‘需要重新编译一下’是什么意思 是说要重新跑某个过程吗

重新编译,就是某个过程或者函数哪里做了修改 需要重新编译成可以执行的文件,并不是说重新跑某个过程。编译完成之后,把编译好了的过程再重新运行。

㈤ 如何将解压后的exe文件重新编译

这是一个自解压文件,用一般的压缩软件就可以重新打包了

㈥ make 重新编译

make clean先

㈦ eclipse 项目中 怎么重新编译整个工程

1、点击选择号重新编译的项目,如下图所示:

㈧ Eclipse怎样重新编译

第一种方法:
1、在您要重新编译的项目上,点击鼠标右键。
2、选择【source】下的【clean up】选项。
3、可以点击【Next】按钮进入到下一步,也可以直接点击【Finish】按钮进行编译。
4、点击【Next】按钮后,显示出您最近修改过的代码,并且提示修改前后的区别。点击【Finish】按钮,进行重新编译。
第二种方法(编译多个项目):
1、选择菜单栏【Project】->【Clean】选项。
2、
(1)根据需要选择
【Clean all projects】重新编译所有项目。
【Clean projects seleted below】重新编译下方选择的项目。
(2)点击【OK】按钮进行编译。

java class怎么重新编译

方法如下: 点击菜单-Project-Build Automatically,这个勾选上。 Build Automatically 的意思是自动编译,选择的功能就是,你在修改代码保存的时候,就编译了。 点击菜单-Project-Build All或Build Project。

㈩ 怎么重新编译android 下面的动态库

使用动态库来编译动态库

A项目的android.mk文件如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := testa
LOCAL_SRC_FILES := testa.c
include $(BUILD_SHARED_LIBRARY)

生成的libtesta.so加入到E:\workspace\android-ndk-r8e\platforms\android-8\arch-arm\usr\lib\下面

项目B的文件目录结构如下:
jni
jni/jni/
jni/prebuilt/
jni目录下的mk文件如下:
include $(all-subdir-makefiles)

jni/prebuilt目录下的mk文件如下:
LOCAL_PATH := $(call my-dir)

#include $(CLEAR_VARS)
LOCAL_MODULE := libtesta
LOCAL_SRC_FILES := libtesta.so
include $(PREBUILT_SHARED_LIBRARY)

同时把libtesta.so也放入该目录下.

jni/jni目录下的mk文件内容:
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_LDLIBS := -ltesta

LOCAL_MODULE := testb
LOCAL_SRC_FILES := testb.c

include $(BUILD_SHARED_LIBRARY)

这样生成libtestb.so文件, 同时eclipse在打包时会把libtesta.so, libtestb.so都加入到apk文件中,如果没有prebuilt那一步,那么在打包时会漏掉libtesta.so, 但编译会通过,因为编译读取的是编译系统的库文件目录(LOCAL_LDLIBS := -ltesta), 这点需要注意
java代码:
System.loadLibrary("testa");

System.loadLibrary("testb");

注意先后关系

阅读全文

与重新编译相关的资料

热点内容
linuxc编程高级 浏览:725
python解码vip视频 浏览:585
丑陋的中国人pdf 浏览:717
我的世界如何在服务器里面装模组 浏览:622
javaweb进销存源码下载 浏览:555
单片机遥控门铃设计图解 浏览:322
闪送app怎么更改照片 浏览:158
公司的程序员开始忙了 浏览:504
统信系统命令行如何输汉字 浏览:279
java随机取数组 浏览:476
服务器匆忙什么意思 浏览:780
windows下载文件命令 浏览:101
绍兴加密防伪技术 浏览:54
linux清除缓存的命令 浏览:779
梁柱连接处梁的加密箍筋 浏览:103
安卓录屏大师如何弹出 浏览:658
cad命令详解 浏览:173
品牌云服务器提供商 浏览:326
加密投资者的心理 浏览:700
小米无命令 浏览:826