精华内容
下载资源
问答
  • C语言的应用领域分两大块:系统软件开发和应用软件开发。其中C语言最主要用于编写系统软件,编写应用软件不是它的强项。 系统软件开发 操作系统:UNIX、Windows、Linux。 驱动程序:比如主板驱动、显卡驱动、...

    C语言的应用领域分两大块:系统软件开发和应用软件开发。其中C语言最主要用于编写系统软件,编写应用软件不是它的强项。

    系统软件开发

    1. 操作系统:UNIX、Windows、Linux
    2. 驱动程序:比如主板驱动、显卡驱动、摄像头驱动。驱动一般是用C语言和汇编语言写的,C++ 在这方面稍弱。
    3. 数据库:SQL Server、Oracle、MySQL、DB2。

    应用软件开发

    • 办公软件:WPS。
    • 图形图像多媒体:Photoshop、Mediaplayer。
    • 嵌入式软件开发:嵌入式软件开发说得简单点就是芯片编程,比如我们以后学习在单片机和 ARM 上进行的开发都属于嵌入式软件开发。
    • 游戏开发:2D、3D 游戏。CS 整个游戏的引擎全部是用纯C写的。
    展开全文
  • Android启动过程中执行一个C语言的应用程序或者执行shell脚本 一、Android启动过程中去对系统做一些设置,如修改某些文件夹的属性和文件的权限,可在init.rc中增加service执行shell脚本,从而可在shell脚本中完成...

          Android启动过程中执行一个C语言的应用程序或者执行shell脚本

     

    一、Android启动过程中去对系统做一些设置,如修改某些文件夹的属性和文件的权限,可在init.rc中增加service执行shell脚本,从而可在shell脚本中完成大部分操作。或者也可以执行c语言应用程序。

     

    二、实际测试

          1、在init.xxxx.rc中增加执行脚本的service,把service设为class main,则在启动class类的serive自动启动init-setup的service。

             1.1 开机执行脚本

               service init-setup /system/bin/rootandwakelock.sh               
                      class main            
                      user root            
                      group root         
                      oneshot      
                      seclabel u:r:init:s0 

            1.2 开机执行C可执行程序

                     service check_hdmiin_signal /system/bin/check_hdmiin_signal

                       class main

                       user root

                       group root

                       oneshot

                       seclabel u:r:init:s0 

               1.3 如果想在开机完成后执行shell脚本,可如下设置:

                 service init-setup /system/bin/rootandwakelock.sh

                      user root           
                      group root    
                      disabled              
                      oneshot           
                      seclabel u:r:init:s0 


                 on property:sys.boot_completed=1

                 start  init-setup

     

                1.4 各参数解释:

              Android 服务名称规则invalid service name 限制16字符以内

             user root 和 group root 意思是使用 root 权限。

             seclabel u:r:init:s0 这句的具体含义大概是设置init进程的安全上下文,不加这个会提示没有权限:service  does not have a SELinux domain defined。

            disabled是不自动执行,得另外start。
            oneshot说明的是该操作只会执行一次,并不像其他带有 restart 指令的 service 一样当被 kill 调之后会重新调起。如果你希望被kill掉之后重新调起,那就不写.

                我这里的测试代码如下图

     

     2、在Android下编写和编译c程序生存两个可执行文件。

             2.1 auto_run.c的代码

    #include <stdio.h>
    #include <android/log.h>
    
    #define LOG    "ffmpegDemo-jni" // 这个是自定义的LOG的标识  
    #define LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG,LOG,__VA_ARGS__) // 定义LOGD类型  
    #define LOGI(...)  __android_log_print(ANDROID_LOG_INFO,LOG,__VA_ARGS__) // 定义LOGI类型  
    #define LOGW(...)  __android_log_print(ANDROID_LOG_WARN,LOG,__VA_ARGS__) // 定义LOGW类型  
    #define LOGE(...)  __android_log_print(ANDROID_LOG_ERROR,LOG,__VA_ARGS__) // 定义LOGE类型  
    #define LOGF(...)  __android_log_print(ANDROID_LOG_FATAL,LOG,__VA_ARGS__) // 定义LOGF类型  
    
    int main(void)
    {
     
       int i=0;
        //signal(SIGCHLD, SIG_IGN);
     
        //daemon(0, 0);//fork 强制后台运行!
       // for(i = 0; i < 10; i++)
       system("touch /data/new_file.txt");   
       while(1)
        {
         sleep(1);
         printf("auto run demo! number=%d\n",i);
    	 LOGF("auto run demo! number=%d\n",i);
    	 i+=8;
    	//  LOGI("Calls=%d,Valid=%d",10,11);
        }
     return 0;
    }
    
    

             2.2 Android.mk的代码

    LOCAL_PATH := $(call my-dir)
    
    include $(CLEAR_VARS)
    
    LOCAL_MODULE_TAGS := optional
    
    LOCAL_MODULE := auto_run
    
    LOCAL_SRC_FILES := $(call all-subdir-c-files)
    LOCAL_SHARED_LIBRARIES := \
    	liblog \
    	libcutils
    	
    	
    include $(BUILD_EXECUTABLE)
    

             2.3  rootandwakelock.sh脚本如下,里面是执行另外一个c可执行程序auto_run_script。

        

             2.4 auto_run_script.c代码如下

    #include <stdio.h>
    #include <android/log.h>
    
    #define LOG    "ffmpegDemo-jni" // 这个是自定义的LOG的标识  
    #define LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG,LOG,__VA_ARGS__) // 定义LOGD类型  
    #define LOGI(...)  __android_log_print(ANDROID_LOG_INFO,LOG,__VA_ARGS__) // 定义LOGI类型  
    #define LOGW(...)  __android_log_print(ANDROID_LOG_WARN,LOG,__VA_ARGS__) // 定义LOGW类型  
    #define LOGE(...)  __android_log_print(ANDROID_LOG_ERROR,LOG,__VA_ARGS__) // 定义LOGE类型  
    #define LOGF(...)  __android_log_print(ANDROID_LOG_FATAL,LOG,__VA_ARGS__) // 定义LOGF类型  
    
    int main(void)
    {
     
       int i=0;
        //signal(SIGCHLD, SIG_IGN);
     
        //daemon(0, 0);//fork 强制后台运行!
       // for(i = 0; i < 10; i++)
       system("touch /data/new_file.txt");
       while(1)
        {
         sleep(1);
         printf("auto run demo! number=%d\n",i);
    	 LOGF("\nscript auto run demo! number=%d\n",i);
    	 i+=1;
    	//  LOGI("Calls=%d,Valid=%d",10,11);
        }
     return 0;
    }
    

             2.5 在Android下编译成可执行文件auto_run和auto_run_script。

           3、打包固件运行,打开一个cmd窗口adb logcat查看打印信息,打开另外一个窗口setprop变量来start和stop进程。通过打印信息可以看出来开机后执行auto_run程序和运行rootandwakelock.sh。

    三、kill 该进程后之后会重新调起例子,没有oneshot。

    service gwdtservice /system/bin/giada_watchdog
        user root
        group root
        disabled
        seclabel u:r:init:s0

     

    展开全文
  • typeof关键字是C语言的应用

    千次阅读 2016-05-31 10:19:38
    typeof关键字是C语言一个新扩展。只要可以接受typedef名称,Sun Studio C 编译器就可以接受带有typeof结构,包括以下语法类别: 声明函数声明符中参数类型链表和返回类型类型定义类型操作符ssi

    原文:http://hi.baidu.com/leowang715/blog/item/b0b96d6f972e7dd080cb4a06.html


    typeof关键字是C语言中的一个新扩展。只要可以接受typedef名称,Sun Studio C 编译器就可以接受带有typeof的结构,包括以下语法类别:

    • 声明
    • 函数声明符中的参数类型链表和返回类型
    • 类型定义
    • 类型操作符s
    • sizeof操作符
    • 复合文字
    • typeof实参

    编译器接受带双下划线的关键字:__typeof__typeof__。本文中的例子并没有遵循使用双下划线的惯例。从语句构成上看,typeof关键字后带圆括号,其中包含类型或表达式的名称。这类似于sizeof关键字接受的操作数(与sizeof不同的是,位字段允许作为typeof实参,并被解释为相应的整数类型)。从语义上看,typeof 关键字将用做类型名(typedef名称)并指定类型。

    使用typeof的声明示例

    下面是两个等效声明,用于声明int类型的变量a

    typeof(int) a; /* Specifies variable a which is of the type int */ 
    typeof('b') a; /* The same. typeof argument is an expression consisting of 
                        character constant which has the type int */

    以下示例用于声明指针和数组。为了进行对比,还给出了不带typeof的等效声明。

    typeof(int *) p1, p2; /* Declares two int pointers p1, p2 */
    int *p1, *p2;
    
    typeof(int) * p3, p4;/* Declares int pointer p3 and int p4 */
    int * p3, p4;
    
    typeof(int [10]) a1, a2;/* Declares two arrays of integers */
    
    int a1[10], a2[10];

    如果将typeof用于表达式,则该表达式不会执行。只会得到该表达式的类型。以下示例声明了int类型的var变量,因为表达式foo()int类型的。由于表达式不会被执行,所以不会调用foo函数。

    extern int foo();
    typeof(foo()) var;

    使用typeof的声明限制

    请注意,typeof构造中的类型名不能包含存储类说明符,如externstatic。不过允许包含类型限定符,如constvolatile。例如,下列代码是无效的,因为它在typeof构造中声明了extern

    typeof(extern int) a;

    下列代码使用外部链接来声明标识符b是有效的,表示一个int类型的对象。下一个声明也是有效的,它声明了一个使用const限定符的char类型指针,表示指针p不能被修改。

    extern typeof(int) b;
    typeof(char * const) p = "a";

    在宏声明中使用typeof

    typeof构造的主要应用是用在宏定义中。可以使用typeof关键字来引用宏参数的类型。

    展开全文
  • 问题5 C语言的应用领域有哪些?

    千次阅读 2012-10-25 22:01:09
    《C语言必须知道的300个问题》本书以基础知识为框架,介绍了C语言各部分知识所对应的常见开发疑难问题,并作了透彻地解析。本书内容包括初识C语言,一个简单的C程序,算法入门,常用...本节为大家介绍问题5 C语言的

    《C语言必须知道的300个问题》本书以基础知识为框架,介绍了C语言各部分知识所对应的常见开发疑难问题,并作了透彻地解析。本书内容包括初识C语言,一个简单的C程序,算法入门,常用数据类型,运算符与表达式,输入/输出函数,选择、分支结构程序设计,循环结构,数组,函数编程基础,指针解析,常用数据结构,位运算操作符,存储管理,预处理和函数类型,文件的读写操作和图形图像处理。本节为大家介绍问题5 C语言的应用领域有哪些。

    问题5  C语言的应用领域有哪些?

    问题阐述

    C语言被称为是使用最广泛的高级语言,那么C语言能够应用到哪些领域呢?

    专家解答

    因为C语言具有高级语言的特点,又具有汇编语言的特点,所以可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。其应用范围极为广泛,不仅仅是在软件开发上,各类科研项目也都要用到C语言。下面列举了C语言一些常见的领域。

    (1)应用软件。Linux操作系统中的应用软件都是使用C语言编写的,因此这样的应用软件安全性非常高。

    (2)对性能要求严格的领域。一般对性能有严格要求的地方都是用C语言编写的,比如网络程序的底层和网络服务器端底层、地图查询等。

    (3)系统软件和图形处理。C语言具有很强的绘图能力和可移植性,并且具备很强的数据处理能力,可以用来编写系统软件、制作动画、绘制二维图形和三维图形等。

    (4)数字计算。相对于其他编程语言,C语言是数字计算能力超强的高级语言。

    (5)嵌入式设备开发。手机、PDA等时尚消费类电子产品相信大家都不陌生,其内部的应用软件、游戏等很多都是采用C语言进行嵌入式开发的。

    (6)游戏软件开发。游戏大家更不陌生,很多人就是由玩游戏而熟悉了计算机。利用C语言可以开发很多游戏,比如推箱子、贪吃蛇等。

    专家点评

    上面仅列出了几个主要的C语言应用领域,实际上,C语言几乎可以应用到程序开发的任何领域。

    展开全文
  • C语言的应用范围, 发展前途

    千次阅读 2009-04-05 18:10:00
    C一般用来底层开发,如操作系统,... windows 就是用它来开发,linux很多程序也用它来写例如:用C语言编写简单接口程序.在当今,流行编程软件种类繁多,它们编程方便、易于维护,但是在与硬件直接打交道和编制
  • C语言应用的几个技巧C语言应用的几个技巧C语言应用的几个技巧C语言应用的几个技巧C语言应用的几个技巧C语言应用的几个技巧
  • C语言获取应用程序路径代码 谢谢
  • C语言 高级宏 经典操作 Malloc 个人收集资料,
  • 7.适用范围广三、C语言的应用1.C语言十分接近底层,可以用来开发操作系统2.嵌入式开发3.编写应用程序 一、C语言的起源 C语言的起源具有历史性的意义。在汇编语言广泛应用的年代,人们发现了汇编语言的学习难度大,...
  • C语言应用最为广泛一种高级程序设计语言
  • C语言结构体的应用

    千次阅读 2019-04-02 10:36:08
    结构体可以用来给C语言增加新数据类型,新数据类型有多个基本类型组成 结构体本身是一种数据类型,声明一个结构体不占用内存 使用结构体之前必须先声明,声明结构体使用struct关键字 声明语法: struct 结构体...
  • 如何将文件中数据读入到程序中;用简单的c语言实现 例如某员工编号 姓名 年龄 家庭住址等 求大神们解答,或者给一小段源程序 ,谢谢!!
  • C语言数组应用之图形数字输出

    千次阅读 2013-02-08 19:00:20
    C语言数组应用之图形数字输出 今天做《C语言程序设计——现代方法》习题,发现数组这块有一道有意思图形数字题目。特此记载。 程序效果如下: 首先,程序使用一个MAX_DIGITS宏来控制最多输出...
  • C语言断言的应用

    千次阅读 2016-07-21 21:35:56
    在使用C语言编写工程代码时,我们总会对某种假设条件进行检查,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理一种高级形式。
  • 问题是这样:首先生成一列0-9随机数保存在数组中,然后统计其中每个数字出现次数并打印,检查这些数字随机性如何。随机数在某些场合(例如游戏程序)中是非常有用,但是用计算机生成完全随机数却不是...
  • C语言链表 应用总结

    千次阅读 2019-03-13 18:16:03
    每次面试时候,面试官都会问你,会链表不(显得很高逼格)?掌握链表创建、插入、删除、修改、清空。你会发现,其实链表就那么回事。 几个概述 链表可以动态分配内存。 链表一般有一个头指针,一般以head来...
  • Linux下C语言串口应用编程

    万次阅读 多人点赞 2018-07-03 14:53:34
    在编写Linux串口C程序之前,需要包含以下头文件:#include &lt;termios.h&gt;在Linux系统中,一切皆文件,所以串口设备也是一类文件,学习过Linux驱动程序学员都知道,Linux有三类设备:字符设备,块...
  • C语言应用领域

    千次阅读 2018-02-25 22:39:25
    相对于PHP、Java,C语言的开发效率较低,没有框架甚至没有库。数据结构要自己写,对操作系统底层要很熟悉,代码很容易出现内存相关的错误。C语言主要用于驱动开发、操作系统、内核开发,嵌入式(单片机)、交换机、...
  • C语言高级应用

    千次阅读 2008-05-29 08:28:00
    C语言经典编程,希望大家喜欢/*这是一个卫星围绕地球程序。*/#include#include#include#include#define IMAGE_SIZE 10void draw_image(int x,int y);void putstar(void);main(){ int driver=DETECT; int mode,...
  • 51单片机的C语言应用讲座.rar51单片机的C语言应用讲座.rar51单片机的C语言应用讲座.rar
  • C语言在开发中的应用博文汇总贴

    千次阅读 多人点赞 2019-09-14 13:14:06
    自己成长同时也不要忘记带动别人一起成长,前人种树,后人乘凉,我宁愿做种树人,让读者乘凉。 以下有些文章时间比较长了,这里只做汇总...C语言关键字static绝妙用途 C语言结构体深度剖析 对嵌入式开发C语言...
  • c语言的应用

    千次阅读 2016-12-22 03:04:41
    作用是将递归函数转换成非递归函数,由于在阶乘中只有一个参数,把参数入栈即可 int nfact(int n) { int res = 1; int temp = 1; PSeqStack *stack = NULL;//控制头指针 creatEmptyStack(&stack, n);//...
  • 单片机的C语言应用程序设计(修订版) C语言 单片机 PDG格式电子书
  • C语言的数字益智应用软件,本人的C语言的课设,基本上都是一点点敲出来的,亲测是没有bug的,希望可以给你们提供思路。
  • 本文目标是根据PSINS工具箱,编写一个C语言惯性系粗对准程序。
  • C语言在计算机专业教学中是非常重要的课程之一,特别...1 C语言的特点和优势 C语言是学习编程语言的基础,它集合了很多语言的特点,我们都知道语言之间是相同的,而C语言能够把很多语言的特点集中起来,有高级语言...
  • 你要是熟悉C语言的话,指针肯定理解;在没有窗口的情况下,用Turbo C 2.0画一个矩形也不是什么难事; 后来有一天准备照书实践一下,仔细看了一下,原来问题不是一般的多;首先一个,不能用写应用程序的C语言去写一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,239
精华内容 11,295
关键字:

c语言的应用

c语言 订阅