标签:system-calls kernel linux-kernel c-3 linux
对于大学任务,我们必须向Linux内核添加系统调用.我有“你好,世界”没问题.就添加一个更复杂的调用而言,我知道(或至少认为)我不能使用像malloc这样的C函数,但是我想知道我可以使用syscall()来使用其他系统调用吗?
解决方法:
内核对几乎所有内容都有自己的特定调用.您无权访问系统调用或< sys / xxxx.h>头文件.
对于您的实例,是的,您不能使用malloc()但可以使用kmalloc()
在较早版本的内核(2.4)中,可以通过以下方式使用syscall():syscallN()宏.我很确定已将其删除.
通常,从内核来的syscalls()不是一个好主意.真正的系统调用只是进入内核以执行某项操作的用户空间的一种方式,因此,如果您已经进入内核,则应该有一种更好的方法来完成您要尝试做的事情.
标签:system-calls,kernel,linux-kernel,c-3,linux 来源: https://codeday.me/bug/20191127/2074160.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。