![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 52
ww2114
这个作者很懒,什么都没留下…
展开
-
函数使用前未申明,导致返回值在64位系统被截断
我们写main函数时,可以直接写成mian();不用定义返回值,那是因为我们对返回值不关注,编译器会默认返回值类型为整型。 若我们关注返回值类型,一定要显性定义返回值类型。否则,编译器会使用默认返回值类型,出现非预想的结果。 例: int main() { int p = NULL; intq = NULL; p = (int *)malloc(sizeof(int)); if(NULL == p...原创 2018-10-05 11:56:01 · 1066 阅读 · 1 评论 -
非抢占系统的编程注意事项
非抢占系统中,必须程序中主动放权或任务挂起,其他任务才得以调度。 基于此,我们在非抢占系统中编写自己的任务需要注意一下几点: 及时放权,使其他任务得到调度;队列调用时,可以选择读取指定数目消息后,进行放权; 避免任务中出现大循环,使得任务长时间占用cpu资源,饿死其他任务; 放权过程需要程序开发者自己设计,需要注意调用栈中指针的保护,尽量在较外层的函数中进行放权;经常在项目实践中出现隐性放权(调...原创 2018-10-05 20:24:32 · 290 阅读 · 0 评论 -
操作系统学习总结
1、进程管理 1、进程是具有独立功能程序在某个数据集合上的一次执行过程。线程是进程内的一个执行实体或执行单元。 进程和线程的区别: (a)不同进程的地址空间是独立的,而同一进程内的线程共享同一地址空间。一个进程的线程在另一个进程内是不可见的。 (b) 在引入线程的操作系统中,进程是资源分配和调度的单位,线程是处理机调度和分配的单位,资源是分配给进程的,线程只拥有很少资源,因而切换代价比进程切换低。...原创 2018-10-05 21:26:11 · 211 阅读 · 0 评论