学习日志 王俊

苏嵌                                                                                                                                            项目实战

学习日志                                          姓名:王俊             日期:712

 

 

 

 

今日学习任务

 

1.  早上进行回答嵌入式的问题;

2.  下午进行C语言的测试编程;

今日任务完成情况

 

(详细说明本日任务是否按计划完成,开发的代码量)

1.      早上准时完成问题的回答,结合书本和自己的知识解决问题;

2.      下午完成4项编程题目,将4个编程都能正确运行;

今日开发中出现的问题汇总

 

1.      在编写程序时出现错误:对基础知识掌握的不牢,问题有eg: if(c == “+”)中的c是单个字符并不是字符串所以应该改为’+’才对;

2.      在编写程序时出现错误:问题:在定义float a;后面使用了%a 是错误的,类型不匹配,应该改为%f才正确

 

今日未解决问题

 

还需要掌握清楚一些基础的知识;

今日开发收获

对基本的C语言的编程掌握能力更好了,对基础的问题的模糊感也有了正确的认识了,收获很多很有用;

 

自我评价

 

(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)

 

 

对基础的知识掌握感还不是很好需要自己多加的练习掌握更多自己还不清楚的知识点,这个对于我来说还是很重要的;

其他

 

 

 

对嵌入式问题的回答:

1.       是否有无操作系统

2.      软硬件耦合度提高,能够适应各种硬件平台;提供多任务机制;提供网络协议;提供开源和软件和工具;软件开发人员要求不高;

3.      嵌入式软件开发工程师:ARM+Linux/Android开发;

嵌入式硬件开发工程师:应用程序开发,操作系统移植,底层驱动开发;

应用软件工程师:精通一门语言,熟悉一款操作系统;

系统级工程师:精通C语言,熟悉汇编,理解操作系统的实现,熟悉硬件工作原理;

4.      人工智能不会没有嵌入式,人工智能的领域庞大含该学科众多,应用范围也很多,嵌入式开启了人工人工智能的进程。人工智能的目的是机器具备人的思维,那机器就需要学习,那学习就需要从大数据(筛选数据和分析数据)和云计算(处理)哪里得到数据来学习。

5.      CPU:Central Processing Unit 中央处理器

GPU:Graphics processing Unit 图形处理器

DPU:Distributed Processing Unit 分散处理单元

TPU:Tensor Processing Unit 谷歌的张量处理器

6.      嵌入式操作系统有Linux,uCLinux,windowsEmbedded CE,Uc/os-Ⅱ,Vxworks,eCos等;vxwork的特点是一个操作系统,又可以运行的最小基本程序,有BSP可以减小驱动程序的编写过程,有强大的调试能力,具有DEBUG功能,具有丰富的函数库,自带TCP/IP协议栈;ucossii的特点是有开源性,可移植性,可固化,可确定性,多任务,中断管理,系统服务;

7.      实时性是指时钟信号能够准确的定时,各处的时钟能够达到一致,在不同的场合需要达到ns,us级;ucossii,rtthread,MsgOS

8.      嵌入式开发是IT开发行业中火热的职业,Android开发和IOS开发包括智能设备,其根基还是嵌入式开发。发展方向是可以选择人工智能,大数据,云计算处理;

9.      Linux操作系统的特点是一点哲学,一切均为文件,对外免费开放,容易获得,稳定可靠;

10.  Linux是开发源代码的自由软件,拥有自己出色的规则,使网络的可配置能力很强为系统管理提供了极大的灵活性,对外是免费的 unix是对源代码实行知识产权保护的传统商业软件,拥有一套完善的网络管理机制和规则,对外是需要收取昂贵的费用;

11.  虚拟机作用可以在一台电脑上模拟出来若干的PC,每台PC可以运行单独的操作系统而互不干扰,可以实现一台电脑同时运行几个操作系统,可以将及格操作系统连成一个网络;主流的有VMware VPC VietualBox;

12.  POSIX:表示可移植操作系统接口,获得源代码级别的软件可移植性,为一个POSIX兼容的操作系统编写的程序;

GNU:是一套完全自由的操作系统,拥有强大的文字编译器GCC,有大部分UNIX系统的程序库和工具;

GPL:适用于大多数自由软件基金会的软件,是GNU通用公共授权非正式的中文翻译,效用对象是GNU通用公共授权英文原文的版本;

13.  发行版有elementaryos 桌面Linuxveket linux 适合老旧的电脑系统,pearlinux 一款桌面操作系统,linux 免费的类的操作系统,linux mint 自由开放源代码软件;

14.  区别:文件格式是不同的,windows操作系统内核是NTLinuxshell;另外windows硬件文件格式是fat32NTSFLinux需要的文件格式是ext2EXT3,该操作系统还多一个SWAP格式的交换分区;

15.  普通文件 - ;目录文件 d ;设备文件 c/b链接文件 l ;管道文件 p ;共享文件 s ;堆栈文件 f ;

16.  Su adduser passwd ls ls -l touch rm rm -f cat chmod gedit gcc vimmkdir cp cd  tar make gdb reboot cd / cd..

17.  编写vim vimrc 编写自己想要的设置;VIM Emacs Notepad++TextMate Sublime Text;

18.  使用tar 压缩时用tar cvzf xxx.tar.gz 解压文件时用tar xvzf;xxx.tar.gz;

19.  支持几乎所有的主流CPU处理器平台,可以完成C,C++,Objective C等源文件想运行在特定CPU硬件上的目标代码的转换,GCC不仅功能强大,结构也异常灵活,便携性与跨平台支持特性;visual c++6.0  visualstudio   win-tc  code::BlOCKS  DEV C++   C-Free    Turb C;

20.  交叉编译器:在一种计算机CPU环境下运行的编译程序能另一种计算机CPU环境下运行的代码;不同的CPU拥有不同的汇编,则会不用的机器码;

21.  四步骤:预处理编译汇编链接;预处理:1.头文件的展开,2.宏替换,3.条件编译;

编译:1.语法检查, 2词法分析;

汇编:生成能够识别的机器码;

链接:符号表的建立;

22.搜索路径不同,《:告诉系统目录下的路径    “”:先在当前目录查找,再在系统里面查找;

23.-l:指定链接的库 -I告诉第三方搜索路径   -w 关闭警告   -wall 开启警告   -O3 3级优化;

24.库文件时动态链接库文件,用来保存函数或变量;特点:只能使用函数或变量,但时看不到具体实现;

25.分类:静态库.a 动态库.so

26.区别:静态库:在执行程序之前就已经加入到执行代码中,成为执行程序的一部分来执行;动态库:在执行程序启动时运行到哪里再加载到代码中运行;

27.静态库: gcc -c xxx.c    ar rcslibxxx.a add.o

   动态库: gcc -shared -Fpic -o xxx.c ar rcs libxxx.a add.so

28.GDB:是一个调试工具,是受通用公共许可证即GPL保护的自由软件;可以让程序在你希望的地方停下,此时你可以查看变量,寄存器,内存即堆栈。更进一步你可以修改变量及内存值;

29Run运行程序    break:在某处停下 info break:检查断点信息 continue:继续运行,跳过当前断点 finish:让子函数运行完成;

30.make的作用:是个自动编译管理器;能够根据文件间戳自动的发现更新过的文件而减少编译的工作量,同时它通过读入Makefile文件的内容来执行大量的编译工作;

31makefile 三要素语法:目标法依赖体命令执行顺序从上到下还有伪目标的存在;

32.企业级工程目录时创建总控makefile 子目录makefile     scripts目录下的makefile

总控:将各个子目录的.o连接成可执行文件;

子目录:将目录下.c文件编译成.o文件;

Scripts目录:相当于C语言中的头文件,定义了一些变量;

 

#include<stdio.h>    //头文件

int main()    //定义主函数

{

   float a;    //定义浮点类型a

   float b;    //定义浮点类型b

   float d;    //定义浮点类型d

   char c;    //定义运算字符

   scanf("%f%c%f",&a,&c,&b); //输入数字和运算符号

   if(c == '+' )    //判断运算符号是否等于+号

    {

       d =  a + b;   //加法运算

       printf("a + b = %f\n",d);   //输出结果d

    }

   if(c == '-')    //判断运算符号是否等于-号

    {

       d = a - b;    //减法运算

       printf("a - b = %f\n",d);  //输出结果d

    }

   if(c == '*')    //判断运算符号是否等于*号

    {

       d = a * b;    //乘法运算

       printf("a * b = %f\n",d);  // 输出结果d

    }

   if(c == '/')    //判断运算符号是否等于/

    {

       d = a / b;    //除法运算

       printf("a / b = %f\n",d);  //输出结果d

    }

}

 

#include<stdio.h>     //头文件

 

int main()     //定义主函数

{

   char str[100];   //定义str的数组

   char substr[100];       //定义substr的数组

   printf("please input a string:");  //显示:请输入一个字符串

   gets(str);    //输入字符串

   printf("please input a substring:");  //请输入一个字符串

   gets(substr);    //输入字符串

   printf("%d\n",match(str,substr));   //输出字符串显示的次数

}

int match(char *str,char *substr)   //定义字符串函数

{

  int i;  //定义变量i

  int j;  //定义变量j

  int k;  //定义变量l

  int num = 0;   //定义定义num0

  for(i = 0;str[i];i++)  //循环匹配主字符串

      for(j = i,k = 0;substr[k] == str[j];k++,j++)   //循环匹配子字符串

      {

          if(substr[k + 1] == '\0')  //如果匹配成功

            {

                num ++;    //位置加1

                break;     //中断

            }

      }

      return num;    //返回num

}

 

 

#include<stdio.h>    //头文件

 

int main()    // 定义主函数

{

   float fac(int n);    //定义一个函数

   int n;    //定义输入变量n

   float y;    //定义输出变量y

   scanf("%d",&n);   //输入变量n

   y=fac(n);   //函数计算输出

   printf("%d! = %10.0f\n",n,y); //结果输出

}

float fac(int n)    //定义递归函数

{

   float f;     //定义一个变量

   if(n < 0)    //如果n<0

    {

       printf("n < 0,dataerror!"); //输出数据错误

    }

   else   //否则

       if(n == 0||n == 1)  //如果n=0或则n1

         f=1;//f=1

   else  //否则

       f=fac(n-1)*n;  //计算函数

   return(f);   //返回函数

}

 

#include<stdio.h>     //头文件

 

int main()  //定义主函数

{

   int i;     // 定义整形变量i

   int j;     //定义整形变量j

   int n=0;   //定义变量n0

   int a[100][100] = {0}; //定义一个100100的二维数组

   while(n < 1||n > 99)  //n<1或则n>99

    {

       printf("请输入杨辉三角的行数:");//显示:请输入杨辉三角的行数

         scanf("%d",&n);//输入行数

    }

   for(i = 0;i < n;i++) //循环杨辉三角的每一行

   a[i][0] = 1;  //每一行的第一个都是1

   for(i = 1;i < n;i++)  //进行n次循环,构成二维数组

   for(j = 1;j <= i;j++) //进行i次循环,构成二维数组

   a[i][j]=a[i - 1][j - 1] + a[i - 1][j]; //从第尔行第二列开始,值是上一行的加上上一行的相邻两个数的和

   for(i = 0;i < n;i++)       //根据输入的ni进行n次循环

    {

       for(j = 0;j <=i;j++)  //根据i,j进行i次循环

         printf("%5d",a[i][j]);  //输出数组的结果

         printf("\n");  //跳行

    }

}   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于微信小程序的家政服务预约系统采用PHP语言和微信小程序技术,数据库采用Mysql,运行软件为微信开发者工具。本系统实现了管理员和客户、员工三个角色的功能。管理员的功能为客户管理、员工管理、家政服务管理、服务预约管理、员工风采管理、客户需求管理、接单管理等。客户的功能为查看家政服务进行预约和发布自己的需求以及管理预约信息和接单信息等。员工可以查看预约信息和进行接单。本系统实现了网上预约家政服务的流程化管理,可以帮助工作人员的管理工作和帮助客户查询家政服务的相关信息,改变了客户找家政服务的方式,提高了预约家政服务的效率。 本系统是针对网上预约家政服务开发的工作管理系统,包括到所有的工作内容。可以使网上预约家政服务的工作合理化和流程化。本系统包括手机端设计和电脑端设计,有界面和数据库。本系统的使用角色分为管理员和客户、员工三个身份。管理员可以管理系统里的所有信息。员工可以发布服务信息和查询客户的需求进行接单。客户可以发布需求和预约家政服务以及管理预约信息、接单信息。 本功能可以实现家政服务信息的查询和删除,管理员添加家政服务信息功能填写正确的信息就可以实现家政服务信息的添加,点击家政服务信息管理功能可以看到基于微信小程序的家政服务预约系统里所有家政服务的信息,在添加家政服务信息的界面里需要填写标题信息,当信息填写不正确就会造成家政服务信息添加失败。员工风采信息可以使客户更好的了解员工。员工风采信息管理的流程为,管理员点击员工风采信息管理功能,查看员工风采信息,点击员工风采信息添加功能,输入员工风采信息然后点击提交按钮就可以完成员工风采信息的添加。客户需求信息关系着客户的家政服务预约,管理员可以查询和修改客户需求信息,还可以查看客户需求的添加时间。接单信息属于本系统里的核心数据,管理员可以对接单的信息进行查询。本功能设计的目的可以使家政服务进行及时的安排。管理员可以查询员工信息,可以进行修改删除。 客户可以查看自己的预约和修改自己的资料并发布需求以及管理接单信息等。 在首页里可以看到管理员添加和管理的信息,客户可以在首页里进行家政服务的预约和公司介绍信息的了解。 员工可以查询客户需求进行接单以及管理家政服务信息和留言信息、收藏信息等。
数字社区解决方案是一套综合性的系统,旨在通过新基建实现社区的数字化转型,打通智慧城市建设的"最后一公里"。该方案以国家政策为背景,响应了国务院、公安部和中央政法会议的号召,强调了社会治安防控体系的建设以及社区治理创新的重要性。 该方案的建设标准由中央综治办牵头,采用"9+X"模式,通过信息采集、案(事)件流转等手段,实现五级信息中心的互联互通,提升综治工作的可预见性、精确性和高效性。然而,当前社区面临信息化管理手段不足、安全隐患、人员动向难以掌握和数据资源融合难等问题。 为了解决这些问题,数字社区建设目标提出了"通-治-服"的治理理念,通过街道社区、区政府、公安部门和居民的共同努力,实现社区的平安、幸福和便捷。建设思路围绕"3+N"模式,即人工智能、物联网和数据资源,结合态势感知、业务分析和指挥调度,构建起一个全面的数据支持系统。 数字社区的治理体系通过"一张图"实现社区内各维度的综合态势可视化,"一套表"进行业务分析,"一张网"完成指挥调度。这些工具共同提升了社区治理的智能化和效率。同时,数字社区还提供了包括智慧通行、智慧环保、居家养老和便民服务等在内的多样化数字服务,旨在提升居民的生活质量。 在硬件方面,数字社区拥有IOT物联网边缘网关盒子和AI边缘分析盒子,这些设备能够快速集成老旧小区的物联设备,实现传统摄像设备的智能化改造。平台优势体现在数字化能力中台和多样化的应用,支持云、边、端的协同工作,实现模块化集成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值