【Linux详解】基础IO:软硬连接 | 动静态库管理
在Linux中,理解基本的文件IO操作以及软硬连接和动态/静态库的管理是很有帮助的。以下是这些概念的简要概述和示例代码。
基本文件IO操作
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp = fopen("example.txt", "w+"); // 打开文件
if (fp == NULL) {
perror("Error opening file");
return EXIT_FAILURE;
}
fprintf(fp, "Hello, World!"); // 写入文件
fseek(fp, 0, SEEK_SET); // 移动文件指针到文件开头
char buf[20];
fscanf(fp, "%s", buf); // 读取文件
printf("Read from file: %s\n", buf);
fclose(fp); // 关闭文件
return EXIT_SUCCESS;
}
软硬连接
# 创建软连接
ln -s target_file soft_link
# 创建硬连接
ln target_file hard_link
动态/静态库管理
动态库(.so)通常在运行时加载,而静态库(.a)在编译时链接到可执行文件中。
# 静态库编译和链接
gcc -o myprogram myprogram.c /path/to/libmylib.a
# 动态库编译
gcc -fPIC -shared -o libmylib.so mylib.c
# 动态库链接和运行时指定
gcc -o myprogram myprogram.c -L/path/to/lib -lmylib
./myprogram # 假设库文件在系统的标准库路径下
# 设置动态库的搜索路径
export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH
这些代码和命令提供了文件IO操作、软硬链接的创建、以及动态和静态库的编译和链接方法。这些是Linux编程中基本且重要的概念。
评论已关闭