软件工具 SofTool.CN 本次搜索耗时 0.229 秒,为您找到 296 个相关结果.
  • 静态库和动态库

    1793 2021-01-18 《GCC 简单入门》
    静态库(.a):程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库;动态库(.so或.sa):程序在运行的时候才去链接共享库的代码,多个程序共享使用库的代码。 以下为动态库的运行原理:一个与共享库链接的可执行文件仅仅包含它用到的函数入口地址的一个表,而不是外部函数所在目标文件的整个机器码;在可执行文件开始运行以前,外部函数的机...
  • 指针数组和数组指针

    1792 2022-11-15 《C 语言》
    数组指针(也称行指针) 应用 指针数组 小结: 数组指针(也称行指针) 数组指针, 从字面意思来看, 就是“指向数组的指针”. 定义: int (*p)[n]; ()优先级高,首先说明p是一个指针 ,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度 。 如要将二维数组...
  • 5.1_一次性编译

    执行gcc -Wall hello.c main.c -o main命令,直接生成可执行文件main ➜ test gcc -Wall hello.c main.c -o main ➜ test ./main hello world
  • C 可变参数

    1773 2021-01-21 《C 语言》
    有时,您可能会碰到这样的情况,您希望函数带有可变数量的参数,而不是预定义数量的参数。C 语言为这种情况提供了一个解决方案,它允许您定义一个函数,能根据具体的需求接受可变数量的参数。下面的实例演示了这种函数的定义。 int func (int , ... ) { . . . } int main () { func(...
  • UNIX变种

    1756 2021-05-05 《Autoconf 中文手册》
    下列宏检查对于有些程序来说需要特殊处理的一些操作系统,这是因为它们的头文件或库文件中含有特别 怪异的东西。这些宏不讨人喜欢;它们将根据它们所支持的函数或者它们提供的环境,被更加系统化的方法所代替。 宏: AC_AIX如果在AIX系统中,就定义ALLSOURCE。允许使用一些BSD函数。应该在所有运行C编译器的宏之前 调用本宏。 宏: AC_DYNIX_S...
  • reg unreq

    req unreq req 用来给寄存器赋予别名,格式如下: 别名 .req 寄存器名 unreq 用来取消一个寄存器的别名,格式如下: .unreq 寄存器别名 注意被取消的别名必须事先定义过,否则编译器就会报错,这个伪操作也可以用来取消系统预制的别名, 例如r0, 但如果没有必要的话不推荐那样做。
  • if

    .if有多个变种: 根据一个表达式的值来决定是否要编译下面的代码, 用.endif伪操作来表示条件判断的结束, 中间可以使用.else来决定.if的条件不满足的情况下应该编译哪一部分代码。 .if有多个变种: .if变种 含义 .ifdef symbol @判断symbol是否定义 .ifc string1,string2...
  • 编译多文件

    1673 2021-01-18 《GCC 简单入门》
    #hello_fn .h 是声明,hello_fn .c 是函数内容,main .c 主函数 #一次性生成 gcc hello_fn .c main .c –o newhello #独立编译,将每个.c 文件生成.o 文件,再将每个.o 文件链接成可执行文件 #独立编译的好处:哪一个模块出问题了,就只需要编译这个模块就好,不需要全部编译,这样会...
  • 5_GCC 编译多文件

    本节以下面的内容为例: main.c #include "hello.h" int main (void ) { print("hello world" ); return 0 ; } hello.c #include "hello.h" void print (const char *str) ...
  • 6.6_生成共享库

    生成共享库的过程如下: ➜ makefile gcc -Wall -c -f PIC hello.c // 编译生成.o文件时一定要加上-f PIC选项 ➜ makefile gcc -shared -f PIC hello.o -o libhello.so ➜ makefile ls -l libhello.so -r...