px4::init_once();

  1. void init_once()
  2. {
  3. _shell_task_id = pthread_self();                                                            //获取自生PID
  4. //printf("[init] shell id: %lu\n", (unsigned long)_shell_task_id);
  5. work_queues_init();                                                                         //工作队列初始化?   创建了一个高优先级和一个低优先级工作线程
  6. hrt_work_queue_init();                                                                      //创建了一个最高优先级的工作队列?
  7. hrt_init();                                                                                 //初始化了hrt信号量?
  8. param_init();                                                                               //初始化了param_sem和reader_lock_holders_lock信号量
  9. #ifdef CONFIG_SHMEM
  10. PX4_DEBUG("Syncing params to shared memory\n");
  11. init_params();
  12. #endif
  13. }

px4::init(argc, argv, "px4");

画了一个px4。

  1. void init(int argc, char *argv[], const char *app_name)
  2. {
  3. printf("\n");
  4. printf("______ __ __ ___ \n");
  5. printf("| ___ \\ \\ \\ / / / |\n");
  6. printf("| |_/ / \\ V / / /| |\n");
  7. printf("| __/ / \\ / /_| |\n");
  8. printf("| | / /^\\ \\ \\___ |\n");
  9. printf("\\_| \\/ \\/ |_/\n");
  10. printf("\n");
  11. printf("%s starting.\n", app_name);
  12. printf("\n");
  13. // set the threads name
  14. #ifdef __PX4_DARWIN
  15. (void)pthread_setname_np(app_name);
  16. #else
  17. (void)pthread_setname_np(pthread_self(), app_name);
  18. #endif
  19. }

px4::init_once();和px4::init(argc, argv, "px4");函数学习的更多相关文章

  1. 命令行参数(argc, argv)

    每个C语言程序都必须有一个称为main()的函数,作为程序启动的起点.当执行程序时,命令行参数(command-line argument)(由shell逐一解析)通过两个入参提供给main()函数. ...

  2. file access , argc, argv[ ]

    _____main函数含有 两个参数 ,argc ,argv[] 这两个参数用以指示命令行输入的参数信息. argc 的值是输入的参数的数量.argv是一个数组,每个数组元素指向一个string字符串 ...

  3. C关键字typedef及argc,argv,env参数含义

    C关键字typedef--为C中各种数据类型定义别名. 在此插一点C知识 int main(int argc,const char *argv[],const char *envp[])主函数的红色部 ...

  4. c语言argc argv

    转载自 http://blog.csdn.net/yukiooy/article/details/4682989 main(int argc,char *argv[ ]) argv为指针的指针 arg ...

  5. Main函数中的参数argc,argv的使用简单解析

    本篇文章是对Main函数中的参数argc,argv的使用进行了简单的分析介绍,需要的朋友参考下: C/C++语言中的main函数,经常带有参数argc,argv,如下:  int main(int a ...

  6. 【转】 深入main函数中的参数argc,argv的使用详解

    C/C++语言中的main函数,经常带有参数argc,argv,如下: 复制代码 代码如下: int main(int argc, char** argv) 这两个参数的作用是什么呢?argc 是指命 ...

  7. 操作argc, argv的经典写法

    [问题] 我在看boost源代码的时候看到如下的代码, template<class charT> basic_command_line_parser<charT>:: bas ...

  8. main(argc,argv[])

    每个C语言程序都必须有一个称为main()的函数,作为程序启动的起点.当执行程序时,命令行参数(command-line argument)(由shell逐一解析)通过两个入参提供给main()函数. ...

  9. 关于main函数的参数,argc,argv的内部机制

    偶尔对main函数的参数感兴趣,写了个程序验证. int main(int argc,char **argv) 首先,解释两点: 第一 .系统将参数列表,即我们在shell下输入的命令,存储到一个一维 ...

随机推荐

  1. 企业打开云HBase的正确方式,来自阿里云云数据库团队的解读

    一.HBase的历史由来 HBase是一个开源的非关系型分布式数据库(NoSQL),基于谷歌的BigTable建模,是一个高可靠性.高性能.高伸缩的分布式存储系统,使用HBase技术可在廉价PC Se ...

  2. shell脚本学习 (10) 从结构化文本提取数据

    1提取/ 后的数据 sed -e 's=/.*==' do.txt 2 sed -e 's=/.*=='\ -e 's=^\([^:]*\):\(.*\) \([^ ]*\)=\1:\3, \2=' ...

  3. 图与例解读Async/Await

    JavaScript ES7的async/await语法让异步promise操作起来更方便.如果你需要从多个数据库或者接口按顺序异步获取数据,你可能最终写出一坨纠缠不清的promise与回调.然而使用 ...

  4. h5视频做背景的样式

    video{ position: fixed; display: block; width: 100%; object-fit:fill; height:100%; right: 0px; botto ...

  5. (转)docker-compose安装

    转:https://blog.csdn.net/pushiqiang/article/details/78682323 https://blog.csdn.net/ericnany/article/d ...

  6. JSON的android应用实例

    JSON的android应用实例 Json在线解析器 下面是直接通过JUnit来测试直接通过API来解析Json数据 1.普通键值对象 2.Json数组对象 3.Json数组对象

  7. 从单片机到系统之--uboot启动arm linux

    UBOOT官网下载地址:http://ftp.denx.de/pub/u-boot/ 很详细的UBOOT解释: https://www.crifan.com/files/doc/docbook/ubo ...

  8. 【Jmeter基础】 Linux上运行Jmeter

    Jmeter 是一个强大的并发压测工具,常用于性能测试,压力测试,接口测试等领域.本文将介绍如下内容: 1. Jmeter 执行阶梯式压测 2. Jmeter 如何压测网站的js,css 等资源 3. ...

  9. python的列表与shell的数组

    python:names=["a","b","c"] shell:names=(a b c)

  10. 测开之路二十三:python常用模块

    os模块 sys模块 hashlib shutil对文件和目录进行操作 random和随机相关 json