alex_bn_lee

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

【411】COMP9024 Assignment1 问题汇总

1. 构建 Makefile 文件后运行错误,undefined reference to 'sqrt'

2. Linux 下 C 语言程序的调试

  • 将文件保存为hello.c后,在终端中使用敲入以下命令来使用GCC对程序进行编译。
    gcc hello.c -o hello
  • 编译通过后,我们会在当前目录中看到hello文件,这就是编译后生成的可执行文件。
  • 参考:Linux下编写C程序( GCC )(hello,world)

3. 创建 Makefile 文件

  • 相当于将上面的编译命令写入到一个 Makefile 文件中,文件无扩展名,第一个字母可以大写,其他都是小写
  • 通过 make 命令可以执行 Makefile 文件
  • 参考:【410】Linux 系统 makefile 文件
  • 参考:Makefile使用

4. 文件标准输入输出,stdin、stdout、stderr

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//读取的数据存储在 str 中
//可以通过手动输入
//也可以通过命令行从文件输入
//a < input.txt
//将需要输入的信息存储到 input.txt 中即可
fgets(str, 50, stdin);
  
//可以直接输出到控制台
//也可以通过命令行输出到文件中
//a < input.txt > output.txt
//只会将含有 stdout 的内容输出到文件中
//带有 stderr 的部分则是正常以错误的形式打印在控制台上
fprintf(stderr, "Error!");
fprintf(stdout, "Error!");

5. 不能使用数组(也就是方括号)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// (char *):说明类型,最好带着
// sizeof(char) * 10:分配内存的大小需要通过计算,不同类型不一样
char *str = (char *)malloc(sizeof(char) * 10);
 
//判断
if (str == NULL){
    fprintf(stderr, "Memory allocation error.\n");
    exit(EXIT_FAILURE);
}
 
// 基本与上面类似
str = (char *)realloc(str, sizeof(char) * 20);
//判断
if (str == NULL){
    fprintf(stderr, "Memory allocation error.\n");
    exit(EXIT_FAILURE);
}
 
// 释放
free(str);
str = NULL;

 

posted on   McDelfino  阅读(558)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2018-06-23 【327】Python 中 PIL 实现图像缩放
2018-06-23 【326】PIL 截图及图片识别
点击右上角即可分享
微信分享提示