Linux C语言高级编程

<gcc和gdb的用法>

笔记

欲速则不达,建议先完成 的任务!

继续学习

通关时间从学习第1个课程开始计时

5天内通关,可获得赏金50元

开始学习
该课程需要登录后才能观看
3400 位同学正在学习! 查看详情

MAKERU199084001

1

回答

这不是小美老师讲的吧

二莹子回复:

是的呀~

MAKERU647082784

1

回答

如何把主函数里面的结构体数组传入调用函数,然后貂绒函数的返回值是修改过的结构体数组?

杨老师回复:

这个和平时操作数组一样,把数组的地址传递过去就可以了哦。

Edon

1

回答

为啥有代码提示啊 我的咋没

二莹子回复:

你是说编译报错吗?还是gdb调试,要是想有gdb调试信息,编译的时候要加-g选项哦。

景年

1

回答

这声音也太差了了吧,怎么听,什么时候能重新录制

韩hyr回复:

视频已经在处理中,即将上线哦

Wayne_hzw

1

回答

这个音质真的无力吐槽,太差了!(用PC看的,超清模式)

集团总部-周凯回复:

视屏后期会更新的,都是采用大屏录制的,对你的吐槽,我们虚心接受,我们在不断成长中,谢谢!·

Alen

1

回答

声音听不清,手机端,ipad端,pc端都是这样

吴老师回复:

可以带上耳机试下哦!

流风回雪

1

回答

宏?

杨老师回复:

level1 day2中讲的。

奋斗的比特流

1

回答

声音听不清

韩hyr回复:

建议使用PC端观看,音频是正常的,有问题可以交流哦,新课程迭代中,期待~。

凌宇灬卿輝

2

回答

关于结构体

Malthale回复:

这是一个单向链表的结构;

(x86_64):

struct node * next =下一个struct node 的指针而不是结构体 ,int  占用4字节 + 指针占用 4字节;

所以更改成 struct node ,就破坏了原有的数据结构 !

问号

1

回答

这一节的声音基本听不清

韩hyr回复:

建议使用PC端观看,音频是正常的,有问题可以交流哦,新课程迭代中,期待~。

Hei可乐

1

回答

结构体赋值

吴老师回复:

可以的

杨建新.c

1

回答

用gdb c时,遇到了The program is not being runwet问题

吴老师回复:

方便的时候, 联系一下 辅导老师, 需要具体问题,看一下。 只是这个信息,没有办法确定问题在哪里

As time goesly

2

回答

共享文件

As time goesly回复:

那个workstation server 一直不能启用

赵传达

1

回答

观看第一节中,声音好不清楚。

杨老师回复:

可以带上耳机试下哦!

雷悦

1

回答

中文名文件删除

杨老师回复:

  1. 可以装中文输入法搜狗或ibus;

  2. 可以选中它,复制它的名字;

  3. 可以通过目录的位置,右击删除;

张宇

1

回答

sizeof(struct student)

韩hyr回复:

这要看你具体怎么定义的变量,这里涉及结构体对齐问题。

咖啡泡泡茶

2

回答

老师,怎么像你一样配置VIM呀,比如说代码提示 自动补全等功能呀、

小灰灰回复:

看群共享文件中有个vimconfig.tar.gz的vim配置包,或者直接参考网上的vim配置教程也是可以的,也可以通过安装一下vim的插件来做

展乾

1

回答

结构体、内存管理

韩hyr回复:

函数的返回值是指针,为了记录在函数中获取的空间首地址地址,使在其他地方可以直接通过这个地址找到这块空间,如果是没有返回值的函数的话,就需要通过参数传值的形式传递获取到的内存首地址信息啦,这个可以参考二级指针的用法。综合来说,就是需要将动态分配的内存记录下来,之后才可以找到它使用。

郭晓冲

1

回答

这个#ifdef_DUBUG_怎么用啊它代表什么啊

Roger回复:

这是条件编译,即如果有#define _DEBUG这两个函数会编译,否则忽略。

黑焰小鸟

1

回答

老师在动态内存中讲解中把空悬指针归属于野指针了,请问野指针包括空悬指针吗?

吴老师回复:

你说的“空悬”指针 是指 NULL吗?  空悬这个词一般没有见过用在是指针上的!。 如果指针保存的地址是NULL的话 我们通常说他是一个空指针,而不说“空悬”。     你说的包括不包括,没有一个绝对的答案。 这里重点是说:《如果要操作指针,那么前提是这个指针保存的地址是一个合法的。 》


初九

1

回答

老师我想问下最后作业中的这题为什么选B,没有理解

Linux

小灰灰回复:

这个问题可以直接在群内问一下辅导老师,哈哈,继续加油

初九

1

回答

老师您好,我想问一下一些关于malloc分配动态内存的一些问题

Linux

韩hyr回复:

学习下内存管理,动态分配在堆,不够分涉及相应的内存溢出问题呀,内存总是有限的,这就要在用的时候及时释放呀。

少雄

1

回答

小美老师的那个vim设置

Linux

韩hyr回复:

配置vim,手动的方式是编辑.vimrc,也有配置好的可以自动用命令完成的,这个配置在网络上有好的教程和方案,可以自己根据习惯来配置

Purelove87

1

回答

win7与VMware ubuntu虚拟机实现文件共享

Linux

吴老师回复:

有两种方法。

  1. 安装vmtools 

  2. 通过网络,安装Samba

在这里三言两语很难说清楚, 如果还没有成功,可以用QQ直接找值班老师,帮你一对一解决问题的。

Roger

1

回答

GCC不应该放在level1么?

Linux

吴老师回复:

如果 test.c 中用到libm.so 动态库中的 函数,就需要添加 -lm , 如果不加,编译会出错的。

charles

1

回答

代码区、常量区

Linux

吴老师回复:

代码区和常量区的生存周期是到整个应用程序结束,结束后有系统负责回收资源。 写的C源文件,最终运行时,会以二进制机器指令存在与内存中。C到二进制机器指令之间的转换,时候编译器来完成的。

眼镜我来了

1

回答

子函数中的字符串常量保存在哪里?

Linux

韩hyr回复:

文字常量区,程序结束后释放,所以也有认为和全局变量及静态变量区在一块总的区域内。

裸奔的螃蟹

1

回答

main

Linux

韩hyr回复:

是main函数参数的一种,当然不需要的时候可以不写相当于参数为void

宋晶磊

2

回答

main函数快捷键怎么操作

我就是我回复:

写个main然后按tab,不过这个好像是需要提前设置的,不知道你的软件可不可以

张戬哲

1

回答

关于malloc()函数

杨老师回复:

void指针它是可以自动转换的,详情请看http://www.makeru.com.cn/video/1135_5277.html

MAKERU1496416787

1

回答

为什么结构体里面的字符串赋值不能直接像int类型那样赋值

答疑讲师回复:

因为数组名是符号常量,不能对其进行修改

XCK04000023

1

回答

makefile中使用变量时为什么不是${}而是$()?

答疑讲师回复:

makefile基于shell的语法

MAKERU1496411106

1

回答

2.HC=
O=
$(BIN)%: $(OBJ)%.o $O
   $(CC) $(LDFLAGS) -o $@ $^
$(OBJ)%.o: $(SRC)%.c $(HC)  
这里变量放在依赖后了. O 和 HC 变量有什么意义和作用? 可以给它们幅什么值?

答疑老师回复:

O和HC可以在make时在命令行指定传值,就是说这样执行:
make O=1.c HC=2.c
来外部指定O和HC的值

MAKERU1496411106

2

回答

老师您好
1. test-loop: $(BIN)loop
     -$$PWD/bin/loop
test-nfork: $(BIN)nfork
    -$$PWD/bin/nfork
这里的-$$PWD 是什么意思? -$是打印的意思吗?

MAKERU1496411106回复:

谢谢老师 $$前面的  -  换成 echo 之后 没有执行nfork 
所以这里的 - 是执行的意思吗?

MAKERU1496411106

1

回答

老师您好 有两个问题
1. Main=hello.o hello-1.o
    Main+=hello-2.o
递归展开方式定义不可扩展 这里不是添加了新的展开吗?
2. echo 如何查看?

答疑讲师回复:

1、+=就是简单的追加赋值,你可以理解为对字符串的拼接操作
2、echo $(Main)  为查看变量Main的值

行者

1

回答

老师,那个sizeof(s1)/sizeof(struct student)的含义是什么?

答疑讲师回复:

s1是一个存放struct student类型变量的数组,sizeof(s1)得到数组的大小,
sizeof(struct student)意思是一个struct student类型变量的大小
sizeof(s1)/sizeof(struct student)就得到了数组成员的个数

NJQ061000022

1

回答

老师#define  _DENUE_什么意思?

答疑老师回复:

你说的应该是#define _DEBUG_吧。
这是预定义宏,也就是我们后面的#ifdef _DEBUG_和#endif中间的内容,会根据预定义宏的定义与否来进行条件编译

Obsession

2

回答

什么时候需要动态分配内存空间

答疑老师回复:

由于篇幅的限制这里无法详细说明,可以留下您的联系方式我们再详谈。

上次保存笔记

看见好看好看就很快很快就会看见

保存 修改