Tag: 操作系统

避免C程序中的主(入口点)

是否可以避免C程序中的入口点(主)。 在下面的代码中,是否可以调用func()调用而无需通过以下程序中的main()调用? 如果是,如何做,何时需要,为什么要给出这样的规定? int func(void) { printf(“This is func \n”); return 0; } int main(void) { printf(“This is main \n”); return 0; }

如何从独立环境中关闭计算机电源?

我正在制作一个基于英特尔x86架构的保护模式操作系统,并且正在寻找有关如何通过汇编代码关闭计算机电源的一些信息。 你能帮我解决这个问题吗?

如何在操作系统级别实现睡眠?

我只是感兴趣的是如何在C库或基本上在操作系统级别实现sleep(time in ms)为单位的sleep(time in ms) …… 我猜… 可能是基于处理器速度你做了一段时间的nop循环(我不确定睡眠时间是否准确)… 处理器中的任何特殊寄存器,您可以在其中写入一些值,处理器只会暂停指定的时间(由于处理器甚至无法运行其他程序,因此效率非常低)。 有什么线索吗? 可能C库的源代码可以解释一下吗? 我并不太关注“C”是如何实现的……我只是想知道“sleep()”函数是如何实现的。

fflush(stdin)在C编程中做了什么?

我是C编程的新手,我试图了解fflush(stdin)是如何工作的。 在下面的例子中, fflush(stdin)清除所有缓冲区还是清除第三项后输入的内容? 我的意思是用户输入帐号,空格,名称,空格,余额。 这是真的,从这一点开始,无论用户输入什么都将用fflush(stdin)刷新? 和stdin不会是空的。 为什么我这样说是因为它进入while循环并开始写入文本文件。 我的第二个问题是Ctrl-Z是否会告诉操作系统停止要求用户输入输入? printf( “Enter the account name and balance. (separated by spaces)\n” ); printf( “Enter EOF to end input. (Ctrl-Z)\n” ); printf( “? ” ); scanf( “%d%s%lf”, &account, name, &balance ); fflush(stdin); // write account, name and balance into file with fprintf while ( !feof( stdin ) ) { […]

让父母等待所有子进程完成

我希望有人可以说明如何让父母等待所有子进程完成后继续fork之后。 我有清理代码,我想运行但子进程需要返回才能发生这种情况。 for (int id=0; id<n; id++) { if (fork()==0) { // Child exit(0); } else { // Parent … } … }