《Beginning Linux Programming》读书笔记(一)
1,第一个程序
int main()
{
printf("hello,linux\n");
return 0;
}
编译运行:
./hello
2,链接目标文件
void fred(int arg)
{
prinft("fred: you %\n",arg);
}
void bill(char *arg)
{
printf("bill: you passed %s\n", arg);
}
编译:
This is lib.h. It declares the functions fred and bill for users
*/
void bill(char *);
void fred(int);
int main()
{
bill("Hello World");
fred(100);
exit(0);
}
编译运行:
gcc –o program program.o bill.o fred.o
./program
3,打包为静态链接库再链接
gcc -o program program.o libfoo.a
./program
也可以这样
这里的-L.就指明编译器在当前目录下寻找库文件,-lfoo告诉编译器使用名为libfoo.a的静态库(或名为libfoo.so的共享库)
4,要查看obj文件,库或可执行文件中包含的函数,可以使用nm命令,
5,可以使用ldd来查看程序所需要的共享库
6,一个简单的脚本
for file in *
do
if grep -q bash $file
then
echo $file
fi
done
exit 0
可以有两种执行方式
或者先改变脚本文件的权限,给用户加上可执行权限
然后直接执行
如果报错说“找不到命令“,则说明Shell环境变量PATH中没有设置当前目录这一项,可以有两种方式改变,要么输入”PATH=$PATH:. “,再用”export”使之生效,要么编辑.bash_profile文件,将这个命令加入到文件末尾,然后登出再登陆回来。当然另一种暂行的方法是输入”./first”。当然最后一种方式是linux推荐的。
另外,我们可以将上面这个脚本文件放到别的目录下共享
chmod 755 /usr/local/bin/first
最后一行是给予组用户和其他用户执行权限
7,在Windows下,查看环境变量的命令是:set,这个命令会输出系统当前的环境变量,那Linux下应该如何查看呢,命令是:
如果你想查看某一个名称的环境变量,命令是:echo $环境变量名,比如:
--------------------------------------------------------------------------------
设置环境变量
如果使用的是bash外壳,则键入如下命令:
JAVA_HOME=/ path/ to/ jdk
export JAVA_HOME
其中/path/to/jdk是安装Java的路径。
如果使用的是tcsh,则键入如下命令:
setenv JAVA_HOME /path/to/jdk
--------------------------------------------------------------------------------
删除环境变量
字符模式下设置/删除环境变量
bash下
设置:export 变量名=变量值
删除:unset 变量名
csh下
设置:setenv 变量名 变量值
删除:unsetenv 变量名
作者:洞庭散人
出处:http://phinecos.cnblogs.com/
posted on 2008-11-24 09:27 Phinecos(洞庭散人) 阅读(1900) 评论(4) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述