题目:
简单说明memcpy和strcpy的区别吗?
问题2 :
信号量和互斥锁定有什么区别?
问题3 :
简要说明编译程序的过程吗?
问题的答案:
(1)、复印内容不同。 strcpy只能复制字符串,而memcpy可以复制任何内容,包括字符数组、整数、结构和类。
) 2、复印方法不同。 strcpy不需要指定长度,只有在遇到复制字符的字符串结束符'0'时才能结束,所以容易溢出。 memcpy根据第三个参数确定副本的长度。
(3)、用途不同。 通常,复制字符串时使用strcpy,需要复制其他类型的数据时使用memcpy
问题2的答案:
(1)、排他量用于线程排他,信号量用于线程同步。 互斥:指一个资源同时只允许一个访问者访问,具有唯一性和排他性。 但是,互斥访问不能限制对资源的访问顺序。 也就是说,访问是无序的。
同步通常是基于互斥,允许访问者通过其他机制有序地访问资源。 在许多情况下,同步是互斥的,尤其是对于所有写入资源。 少数情况是指多个访问者可以同时访问资源。
)2),互斥量的值只有0/1,信号量的值可以是非负整数。 也就是说,一个独占量只能用于一个资源的独占访问,不能实现多个资源的多线程独占问题。 信号量可以实现多个同类资源的多线程互斥和同步。 如果信号是单值信号,则还将完成对一个资源的独占访问。
)3)、独占量的锁定和解锁必须由同一线程分别对应使用,信号量由一个线程释放,可以得到另一个线程。
问题3的答案:
预处理:预处理相当于根据预处理指令组装新的c程序,但多以I为扩展名。
编译:将得到的I文件翻译成汇编代码. s文件。
汇编:将汇编文件翻译成机器指令,并打包成可以重新定位目标程序的o文件。 此文件是二进制文件。
链接:将引用的其他o文件合并到包含我们程序的o文件中,并处理最终的可执行文件。