加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C语言函数调用后花括号的含义

发布时间:2020-12-16 10:23:45 所属栏目:百科 来源:网络整理
导读:我正在阅读关于Doom 3源代码的代码质量的博客文章,我已经陷入了一段我无法理解的C代码.我应该说我不是C程序员. 违规代码如下: Sys_StartAsyncThread(){ // The next look runs is a separate thread. while ( 1 ){ usleep( 16666 ); // Run at 60Hz common-
我正在阅读关于Doom 3源代码的代码质量的博客文章,我已经陷入了一段我无法理解的C代码.我应该说我不是C程序员.

违规代码如下:

Sys_StartAsyncThread(){                          // The next look runs is a separate thread.
    while ( 1 ){
        usleep( 16666 );                         // Run at 60Hz
        common->Async();                         // Do the job
        Sys_TriggerEvent( TRIGGER_EVENT_ONE );   // Unlock other thread waiting for inputs
        pthread_testcancel();                    // Check if we have been cancelled by the main thread (on shutdown).
    }
}

(取自http://fabiensanglard.net/doom3/index.php,主题为“展开循环”)

这看起来像一个闭包被作为参数传递给Sys_StartAsyncThread()的返回值 – 但据我所知,这在C中是不可能的,并且Sys_StartAsyncThread()也是void类型,所以这里发生了什么?

可以在here找到Sys_StartAsyncThread()的定义.

解决方法

它看起来像一个错字.根据 here,在Sys_StartAsyncThread();之后应该有一个分号.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读