4月15日作业

4月15号
习题1:编写一个hello.c 程序,并用gcc编译成名字为hello.dll的可执行文件。
习题2:论述Linux C程序开发过程。

1.dll是windows下的动态链接库,对于linux则为so
下面时如何将hello.c编译为hello.dll,并如何使用的例子。
源文件:hello.h, hello.c
目标文件:libtest.so
hello.h:
#include <stdio.h>
#include <stdlib.h>
void hello(void);

hello.c:
#include "hello.h"
void hello()
{
printf("Hello/n");
}

命令:$gcc hello.c -fPIC -shared -o libhello.so
生成libtest.so

使用动态库进行编写程序。
源文件:test.c
test.c:
#include "hello.h"
int main()
{
hello();
}
编译test命令:$gcc test.c -L. -lhello -o test
生成test

运行$./test打印出Hello即成功。
如果不成功,可使用$ldd test查看,如果提示libhello.so库没有找到。
可在/etc/profile中最后一行添加LD_LIBRARY_PATH=$(pwd),命令$source /etc/profile,命令$sudo ldconfig。然后再看看是否成功。

2.Linux C程序开发过程主要可分为2块:编写代码、调试
即不断地编写代码,不断地调试代码的过程。
编写代码可以有很多中工具,建议使用vi编辑器(可下载插件)方便编程;
调试工具建议使用gdb,注意在调试时要使用参数-g选项告诉 GCC 产生能被 GNU 调试器使用的调试信息以便调试你的程序。
如上述生成可调试的test,命令$gcc -g test.c -L. -lhello -o test
使用gdb test便可调试自己写的程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值