精华内容
下载资源
问答
  • 这类文件包含了可以直接执行的程序,它的代表就是ELF可执行文件,它们一般都没有扩展名 比如/bin/bash文件;window的.exe 共享目标文件 (Shared Object File) 这种文件包含了代码和数据,可以在以下两种情况下使用...

    可重定位文件(Relocatable File)
    这类文件包含了代码和数据,可以被用来链接成可执行文件或共享目标文件,静态链接库也属于这一类
    linux的.o
    windows的.obj

    可执行文件
    (Executable File)
    这类文件包含了可以直接执行的程序,它的代表就是ELF可执行文件,它们一般都没有扩展名
    比如/bin/bash文件;window的.exe

    共享目标文件
    (Shared Object File)
    这种文件包含了代码和数据,可以在以下两种情况下使用。一种是连接器可以使用这种文件跟其他的可重定位文件和共享目标文件链接,产生新的目标文件。第二种是动态链接器可以将几个这种共享目标文件与可执行文件结合,作为进程映像的一部分运行。
    linux的.so,如/lib/glibc-2.5.so
    windows的DDL

    原文链接:https://blog.csdn.net/QX_a11/article/details/89925782
    侵权删

    展开全文
  • @TOC(TFTP实现嵌入式linux开发板的文件传输) ...将目标文件拷贝至tftp根目录 cp /home/test1/test1 /var/tftpboot 客户端下载测试 – tftp -g -l test1 -r test1 192.168.1.2 192.168.1.2是虚拟机的IP...

    @TOC(TFTP实现嵌入式linux开发板的文件传输)

    网络状态

    确保开发板与配置开发板和虚拟机在“同一网段”,两台设备直接可以相互ping 通

    拷贝文件

    1. 将目标文件拷贝至tftp根目录 cp /home/test1/test1 /var/tftpboot

    客户端下载测试

    采用终端tftp客户端获取文件到本地当前文件夹
    tftp -g -l test1 -r test1 192.168.1.2
    192.168.1.2是虚拟机的IP地址
    test1 是我生成的QT执行为文件

    修改文件权限

    # ls
    animation     curvdemo1     itemeditor    realtime      spectrogram
    barchart      dials         legends       refreshtest   stockchart
    bode          distrowatch   oscilloscope  scatterplot   sysinfo
    controls      event_filter  radio         simpleplot    test1
    cpuplot       friedberg     rasterview    sinusplot     tvplot
    # chmod 777 test1
    
    

    执行程序

    #./test1 -qws
    
    展开全文
  • 目标文件详解

    2020-07-05 16:31:23
    目标文件(可能篇幅较长) ...所以在广义上来看,目标文件与可执行文件可以看成是一种文件 在windows下,可以统称为PE-COFF文件格式。 在linux下,我们可以统称为ELF文件 可执行文件格式 目前PC平台流行

    目标文件(可能篇幅较长)

    什么是目标文件?

    编译器编译源代码后生成的文件叫做目标文件。

    目标代码是指源代码经过编译程序产生的能被cpu直接识别二进制代码。
    

    目标文件的格式

    目标文件是源代码经过编译但未链接的那些中间文件。

    windows上为.obj文件,linux上为.o文件
    

    目标文件与可执行文件的内容和结构很相似。所以在广义上来看,目标文件与可执行文件可以看成是一种文件

    在windows下,可以统称为PE-COFF文件格式。
    在linux下,我们可以统称为ELF文件
    
    可执行文件格式

    目前PC平台流行以下两种可执行文件格式:

    windows下的PE文件,linux上的ELF文件格式
    这两种均为COFF格式的变种
    

    ELF文件的四种类型

    可重定位文件:包含代码和数据,可以被用来链接成可执行文件或共享目标文件,静态链接库可以归为这一类型。

    windows的.obj文件,linux的.o文件
    

    可执行文件:包含可以直接执行的程序

    windows 下的.exe文件,linux下/bin/bash文件
    

    共享目标文件:包含代码和数据,可以在一下两种情况使用。

    ①链接器使用其与其他可重定位文件和共享目标文件链接,产生新的目标文件。
    ②动态链接器将几个这种共享目标文件与可执行文件相结合,作为进程映像的一部分。
    
    windows下的DLL文件,linux下的.so文件
    

    核心转储文件:当进程意外终止时,系统用来储存该进程地址空间的内容以及终止时的一些其他信息

    linxu下的core dump
    

    目标文件剖析

    目标文件将其中编译后的机器指令代码、数据、符号表、调试信息、字符串等以(有的时候也叫)存储。

    	代码段(.text):程序源代码编译后的机器指令存放位置
    	数据段(.data):初始化不为 0 的全局和静态数据存放位置
    	数据段(.bss):未初始化或初始化为 0 的全局和静态数据存放位置
    

    在这里插入图片描述

    ELF段剖析

    程序源代码被编译后主要分为两种段:程序指令程序数据。代码段属于程序指令,而数据段和.bss段属于程序数据。

    .text代码段

    代码段通常是指用来存放程序执行代码的一块内存区域。
    这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代码段为可写,即允许修改程序。
    在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。
    

    .data数据段和.rodata只读数据段

    .data段保存到是哪些已经初始化了的全局静态变量局部静态变量
    .rodata段存放的是只读数据,一般是程序里面的只读变量(const修饰)和字符串常量。
    printf(“%d\n”, x);其中的“%d\n”就存放在.rodata段中。

    .bss段

    .bss段存放的是未初始化的全局变量和静态局部变量。

    实际上,有些编译器知识对.bss段变量预留一个未定义的全局变量符号。
    实际并不占用目标文件的空间(磁盘),只有当运行时被使用到才会真正的占用空间(内存)。
    

    其他段

    其他段都是用来保存与程序相关的其他信息,知道就行,没啥大的卵用。

    .rodatal:存放只读数据,跟.rodata段一样
    .comment:存放编译器版本信息
    .debug:	  存放调试信息
    .dynamic:存放动态链接信息
    .hash:	  符号哈希表
    .line:	  存放调试用的行号表
    .note:	  存放额外的编译器信息
    .strtab: 存放ELF文件中用到的各种字符串
    .symtab: 符号表
    .shstrtab:段名表
    .plt&.got:动态链接的跳转表和全局入口表
    .init&.fini:程序初始化与终结代码段
    .rel.text: 重定位表
    

    ELF结构剖析

    文件头

    ELF目标文件格式的最前部就是ELF文件头。它包含了描述整个文件的基本属性,比如ELF文件版本、目标机器型号、程序入口地址等。
    以下是文件头中各个成员及其含义
    在这里插入图片描述
    在这里插入图片描述

    ELF魔数:确认文件类型。我们可以看到第一个e_ident这个成员。其中前四个字节称为ELF文件的魔数(如 0x45 E,0x4c L,0x46 F 代表的就是ELF文件)。
    		 几乎所有的可执行文件开始几个字节都是魔数
    文件类型:e_type成员用来表示ELF文件类型,通常是一个常量。系统通过常量来判断ELF真正的文件类型,而不是文件的扩展名。
    

    段表

    段表是一个被用来保存段的的基本属性结构。
    编译器、链接器和装载器都是依靠段表来定位和访问各个段的属性的。
    以下是段表中各个成员及其含义
    在这里插入图片描述

    重定位表

    在其他段的介绍中,有个.rel.text的重定位表段,其中存放了符号的重定位信息。而.text段中对符号的引用都要参考重定位表来实现符号的地址无关。

    字符串表

    字符串表存储了字符串信息,编译器将所有字符串集中起来存放到一个表,然后使用字符串表中的偏移来引用字符串。

    参考文献

    [1] 俞甲子 石凡 潘爱明.程序员的自我修养.电子工业出版社,2009.4.
    [2] 百度百科 https://baike.baidu.com/item/%E4%BB%A3%E7%A0%81%E6%AE%B5
    
    展开全文
  • 目标文件.o

    2019-05-16 22:40:12
    目标文件 目标文件格式: 可执行文件,如linux的elf或者windows的pe,他们都是coff的变种;以下几种文件在linux下...可执行文件: 可以直接执行程序,代表elf可执行文件 3.共享目标文件:包含代码和数据:链接器可以...

    目标文件

    目标文件格式: 可执行文件,如linux的elf或者windows的pe,他们都是coff的变种;以下几种文件在linux下采用elf格式;
       1.可重定位文件: 这类文件包含代码和数据。可以用来连接成可执行文件和共享目标文件,静态链接库也算这一类; 例:hello.o
       2.可执行文件: 可以直接执行程序,代表elf可执行文件
       3.共享目标文件:包含代码和数据:链接器可以使用这种文件与其他可重定位文件和共享目标文件链接,生成新的目标文件;动态链接器可以将几个这种共享目标文件与可执行文件结合。作为进程映像的一部分来运行;例:lib.so
       4.core dump文件:进程意外终止时,系统可以将进程的地址空间的内容以及终止时的一些其他信息转储到core dump文件
    
    ELF问价的一些相关段:
    .code 或 .text 保存编译后的指令
    .data 保存初始化了的全局静态变量和局部静态变量
    .bss 为未初始化的全局静态变量和局部静态变量预留位置不占空间
    .rodata .rodata1 只读数据段,保存全局const或字符串常量
    .comment 保存编译版本信息 如:字符串 “gcc:(gnu) 4.2.0”
    .debug 保存调试信息
    .dynamic 保存动态链接信息
    .hash 保存符号哈希表
    .line 调试的行号
    .note 额外的编译细腻些,如程序公司
    .strtab 字符串表 ,用于保存elf文件中用到的各种字符串
    .symtab 符号表
    .shstrtab 段名表
    .plt .got 动态链接的跳转表和全局入口表
    .init .fini 程序初始化与终结代码段
    ELF文件查看相关命令:

    readelf
    objdump
    将一个二进制文件作为目标文件的一个段: 例如图片
    objcopy -I binary -o elf32-i386 -B i386 image.jpg image.o
    objdump -ht image.o 查看他的相关符号,可以在程序种直接调用(没尝试)

    自定义段:

    使用 attribute((section(“name”))) 属性可以把相应的函数和变量放到name所指的段中;
    如: attribute((section(“data”))) int global = 10;

    elf文件结构描述

     1.基本结构图:
    
    文件头
     1.自定义类型以32位为例:
    
    Elf32_Addr 32位版程序地址 uint32_t
    Elf32_Half 32位版短整形 uint16_t
    Elf32_Off 32位版偏移地址 uint32_t
    Elf32_Sword 32位版有符号整形 int32_t
    Elf32_Word 32位版无符号整形 uint32_t
      2.文件头结构:
       ```
       typedef struct {
         unsigned char e_ident[16];  
         Elf32_Half e_type;
         Elf32_Half e_machine;
         Elf32_Word e_version;
         Elf32_Addr e_entry;
         Elf32_Off e_phoff;
         Elf32_Off e_shoff;
         Elf32_Word e_flags;
         Elf32_Half e_ehsize;
         Elf32_Half e_phentsize;
         Elf32_Half e_phnum;
         Elf32_Half e_shentsize;
         Elf32_Half e_shnum;
         Elf32_Half e_shstrndx;
      }Elf32_Ehdr;
    
        ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190521214605318.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3MjMyMjI4,size_16,color_FFFFFF,t_70)
    e_ident 数组给出了 ELF 的一些标识信息,这个数组中不同下标的含义如表所示:
       ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190521214626214.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3MjMyMjI4,size_16,color_FFFFFF,t_70)
    
    ######  段表
      段表作用:保存段的基本属性,编译器、链接器和装载器都是依靠段表来定位和访问各个段的属性的;比如:段名,段长,在文件中的偏移,读写权限等;
      查看命令可用: readelf -S hello.o
      段表的描述结构 :
    

    typedef struct {
    Elf32_Word sh_name; //section的名字
    Elf32_Word sh_type; //section类别
    Elf32_Word sh_flags; //section在进程中执行的特性(读、写,需分配空间)
    Elf32_Addr sh_addr; //在内存中开始的虚地址 如可被加载则为被加载后的进程地址空间的虚拟地址;否则为0
    Elf32_Off sh_offset; //此section在文件中的偏移(如果存在与文件中),否则无意义
    Elf32_Word sh_size; //段长度
    Elf32_Word sh_link; //段的链接信息
    Elf32_Word sh_info; //段的链接信息
    Elf32_Word sh_addralign; //段地址对齐;都是2的倍数,如果为0或1则该段没有段对齐要求
    Elf32_Word sh_entsize; //表示固定项的大小,如符号表;如果为0,表示无固定大小的项
    }

    sh_type 字段:
    
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190521222131409.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3MjMyMjI4,size_16,color_FFFFFF,t_70)
       sh_flags:
        ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190521222256526.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3MjMyMjI4,size_16,color_FFFFFF,t_70)
       SHF_WRITE: 节区包含进程执行过程中将可写的数据。
       SHF_ALLOC: 此节区在进程执行过程中占用内存。某些控制节区并不出现于目标
       文件的内存映像中,对于那些节区,此位应设置为 0。
       SHF_EXECINSTR: 节区包含可执行的机器指令。
       SHF_MASKPROC: 所有包含于此掩码中的四位都用于处理器专用的语义。
        
        sh_link 和 sh_info 字段:
             ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190521233731353.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3MjMyMjI4,size_16,color_FFFFFF,t_70)
    
    ####  重定位表
     作用: 链接器在处理目标文件时,对代码段或数据段中那些绝对地址的引用需要进行重定位
     类型: 例如:.rel.txt就属于重定位表,类型sh_type为"SHE_REL"
    #### 字符串表
     作用: 字符串常见段名为:“.strtab” 或 “.shstrtab” 这两个分别是字符串表(放普通字符串)和段表字符串表(保存段表中用到的字符串,最常见段名);
     **段表字符串表本身也是elf文件中的一个普通的段,知道他的名字叫做'.shstrtab' .那么"e_shstrndx" 表示 ".shstrtab” 在段表中的下标,即段表字符串表在段表中的下标**
     
    ####  链接的接口--符号
      符号表: 目标文件的符号表中包含用来定位、重定位程序中符号定义和引用的信息。符号表 索引是对此数组的索引。索引 0 表示表中的第一表项,同时也作为 定义符号的索引。
      符号 : 我们将函数和变量统称符号;
      符号值:每个目标文件有一个对应的符号表,这个表里面有记录目标文件所用到的所有符号,每个定义的符号有一个对应的符号值,对于变量和函数来说就是他们的地址 ;
       符号表结构:
       
       typedef struct {
        	Elf32_Word	st_name;	/* name - index into string table */
       	Elf32_Addr	st_value;	/* symbol value */
       	Elf32_Word	st_size;	/* symbol size */
           unsigned char	st_info;	/* type and binding */
           unsigned char	st_other;	/* 0 - no defined meaning */
           Elf32_Half	st_shndx;	/* section header index */
       } Elf32_Sym;
       
         ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190521233831235.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3MjMyMjI4,size_16,color_FFFFFF,t_70)
       
       st_info 说明:
         st_info 的低四位表示符号绑定,用于确定链接可见性和行为。具体的绑定类型如:
         ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190521233920422.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3MjMyMjI4,size_16,color_FFFFFF,t_70)
         
         在每个符号表中,所有具有 STB_LOCAL 绑定的符号都优先于弱符号和全局符 号。符号表节区中的 sh_info 头部成员包含第一个非局部符号的符号表索引。
       st_type 字段:
       
        ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190521230327899.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3MjMyMjI4,size_16,color_FFFFFF,t_70)
        
        st_shndx字段:
           SHN_ABS: 符号具有绝对取值,不会因为重定位而发 生变化。
           SHN_COMMON: 符号标注了一个尚 分配的公共 块。符号的取值给出了对齐约束,与节区的 sh_addralign 成员类似。就是说,链接编辑器将为符号分配存储空间, 地址位于 st_value 的倍数处。符号的大小给出了所需要的字节数。
             SHN_UNDEF: 此节区表索引值意味着符号没有定义。
    当链接编辑器将此目标文件与其他定义了该符号的目标 文件进行组合时,此文件中对该符号的引用将被链接到实 际定义的位置。
       
     几个具有代表性的特殊符号:
       __executable_start        程序的起始地址,不是入口地址
       __etext或-etext或etext  代码段结束地址
       _edata或edata              数据段结束地址
       _end 或 end                  程序结束地址
    
    符号修饰: 作用防止命名冲突
     
    #### extern "C":
       c++使用此函数  : 条件编译 判断当前编译是否为c++
       #ifdef __cplusplus
       extern "C" {
       #endif
       void *memset(void * , int , size_t);
       #ifdef  __cplusplus
       }
       #endif    
    
    ##### 弱符号与强符号
     强弱符号:编译器默认函数和初始化了的全局变量为强符号,未初始化的全局变量为弱符号;当多个文件同时定义强符号时将发生重定义错误;
       规则:
         不允许强符号多次定义
         如果一个强符号多个弱符号选强符号
         如果都是弱符号,选择占空间最大的弱符号
     定义弱引用好处: 可以在运行时决定使用本地还是库(如本地定义弱引用函数,当库中存在此相同函数时用库的强引用的函数)
     弱引用定义:
     弱引用全局变量:
          __attribute__((weak))   weak = 2;
      弱引用外部函数:
              __attribute__((weakref))  void foo();     
       弱引用自己定义的函数:
                __attribute__((weak))   void test(int a, int b){ printf( "oo" );}
    
    展开全文
  • 一、什么是库?在windows平台和linux平台下...本质上来说库是一种可执行代码的二进制形式,这个文件可以在编译时由编译器直接链接到可执行程序中,也可以在运行时由操作系统的runtime enviroment根据需要动态加载到...
  • 将上述代码echo出的语句直接执行可以成功将文件传输过去,且不会出现文件名为?的情况。 echo出来的命令为:scp /home/contin/packs/test.so cina@10.20.27.100:/home/cina/ssr/ 传输结果为:-rw-r--r-- 1 cina...
  • 一、什么是库?在windows平台和linux平台下都...本质上来说库是一种可执行代码的二进制形式,这个文件可以在编译时由编译器直接链接到可执行程序中,也可以在运行时由操作系统的runtime enviroment根据需要动态加载到...
  • linux下常见的ELF文件

    2020-02-15 00:13:31
    linux下常见的ELF文件 学习编译链接过程的时候,无意中发现的,总结一下: ...(2)可执行文件.exe,这种文件包含了可以直接运行的程序,它的代表就是ELF可执行文件,他们一般都没有扩展名; (3)共享目标文件....
  • 要把文件直接编译进目标程序,首先要把它转为对应的目标文件的格式,才能链接进程序,linux有两个工具可以完成这件事情:ld 和 objcopy。 举例说明,现在有foo.jpg图片要编译进程序test.c ld版本: ld -r -b ...
  • Linux[ELF]: ELF文件结构简单梳理 一.编译过程-ELF文件生成 ... 包含可以直接执行的程序,ELF可执行文件,一般没有扩展名 /bin/bash文件 Shared Object File 包含代码和数据,和其他目
  • ①可重定位目标文件(.o) ...②可执行目标文件(Linux默认为a.out , Windows中的*.exe) 包含的代码和数据可以直接复制到内存并被执行 代码和数据地址为虚拟地址空间中的地址 ③共享的目标文件(Linux中的*.so..
  • 文章目录说明添加任务计划说明代码说明结果展示 说明 该脚本需要每小时执行一次(添加到任务计划),当时间为0点或12点时,将目标目录下的所有文件内容清空, 但不删除文件,其他时间则只统计...可以直接把下面代码复制
  • 一、对象文件格式(Object file format) ELF 文件标准里把系统中采用ELF 格式的文件归类为四种: 可重定位文件,Relocatable File ,这类...可执行文件,Executable File ,这类文件包含了可以直接执行的程序,它...
  • 除了scp外,另一个在Linux世界广泛使用的传输文件的方式是sftp,sftp也是基于SSH,所以数据... 'ls' 'cd' 'mkdir'一系列命令可以直接执行,这些动作的应用目标为sftp登陆的host 通过在这些命令之前加前缀‘...
  • 难度:简单约定:# - 需要使用 root 权限来执行指定命令,可以直接使用 root 用户来执行,也可以使用 sudo命令$ - 可以使用普通用户来执行指定命令介绍加密非常重要。它对于保护敏感信息来说是必不可少的。你的私人...
  • tree命令 无法使用tree命令解决方式 在终端命令中输入sudo apt install ...为了方便也可以不用加目标文件的名称,直接以源文件的名称进行命名。 -i 覆盖文件提示 move 命令格式 mv 源文件 目标文件 比如将桌面文件a.
  • 因此,可以通过建立NFS,把Linux 服务器上的特定分区共享到待调试的嵌入式目标系统上,就可以直接在嵌入式目标系统上操作Linux 服务器,同时可以在线对程序进行调试和修改,大大的方便了软件的开...
  • 法国大学的C语言P2P程序例子,创建节点和环状回路,登陆并控制节点,节点间文件搜索和传输等等。 运行方法:.SH文件添加权限后直接运行,会有参数提示。...有兴趣的人可以以此为目标,是一个很好的练习
  • 虽然可以直接在ssh后面接命令的方式,进行命令的执行。 但是ssh的严格的权限认证使得我们不得不输入密码,或是建立信任关系,很难去自定义一个特定的认证方式。 用ssh的信任关系是可以的,不过认证文件要么...
  • ELF 文件,可分为: 可重定位文件(Relocatable File) ...这类文件包含了代码和数据,可以被用来连接成可执行文件或共享目标文件,...包含了可以直接执行的程序 Linux下的可执行二进制文件及windows下的exe文件
  • Linux重定向失败

    千次阅读 2019-01-19 20:02:56
    一般的执行Linux系统命令,其结果都是直接输出到标准显示(stdout、stderr等)。但是我们有时要用这个执行结果,怎么才能用到呢?  Linux系统有一个重定向功能,可以将命令的输出重定向输出至文件中。重定向符号有...
  • Linux第六次课

    2019-04-09 22:09:05
    Linux下程序的编译 gcc 常用的C语言编译器,也可以编译别的语言 ...◆采用显式编译成目标文件,在编译成可执行文件 gcc -c hello.c gcc -o hello hello.o ◆直接编译成可执行文件 gcc -o hello hell...
  • 实习时最常用的Linux 命令 Linux 命令 linux 下查看文件个数及大小 ls -l |grep "^-"|wc -l ...Linux可以直接使用mv来进行重命名 mv hello test cp -r 绝对路径/文件 目标路径 cp -r 绝对路径/*.wav 目标.
  • ELF文件归类

    2020-06-24 11:00:28
    这类文件包含可以直接执行的程序,如/bin/bash文件 ,windows的.exe 共享目标文件(Shared Object File) 这种文件包含了代码和数据,这种文件包含了代码和数据,可以在以下两种情况下使用.一种是链接器可以使用
  • arm-linux-ld

    2020-07-16 11:11:52
    将多个目标文件、库文件连接成可以执行文件. 二、arm-linux-ld的实际使用: 主要分两种形式: 1.直接指定代码段、数据段、BSS段的起始地址.使用格式如下: -Ttext startaddr//代码段的起始地址 -Tdata startaddr//数据...
  • 点击Ctrl+Alt+T进入Linux系统控制台。 创建文件输入vim hello.c。 点击i进行插入,这样你就...6.生成目标文件hrllo.c;点击gcc hello.c -o 1。 运行可执行文件./1。 直接编译运行可执行文件gcc -o 1 hello.c -g ...
  • Linux部署项目

    2019-09-03 23:20:55
    利用rpm可以直接安装rpm文件(rpm文件是本地可执行安装文件) RPM介绍 RedHat Package Manager(RPM), 擅长安装本地的软件和没有依赖其他软件包的软件 rpm的作用 ​ 查询已安装的软件 ​ 安装软件 ​ 卸载软件...
  • 观察者模式实现:  一个observe.hpp 文件 一个observe.cpp文件 ...编写一个简单的Makefile 文件, 在Linux下,直接make生成可执行文件observe. main.cpp 文件 #include "observe.hpp" #include  using namespa
  • Linux常用命令(硬核)

    2019-08-21 16:16:01
    其中参数和目标不是必须的,例如:date命令可以直接获取到当前的日期时间 文章目录1.获得帮助命令whstishelpman2.修改主机名3.常用快捷键4.历史调用5.路径操作6.文件操作6.1创建编辑文件6.2查看文件内容6.2.1 查看文件...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 261
精华内容 104
关键字:

linux目标文件可以直接执行

linux 订阅