精华内容
下载资源
问答
  • javaScript由哪些部分组成

    万次阅读 2017-03-01 18:31:46
    一个完整的JavaScript实现应三个部分组成: 1.核心(ECMAScript) 2.文档对象模型(DOM) 3.浏览器对象模型(BOM) 核心(ECMAScript) ECMA-262定义的ECMAScript是一种在国际认可的标准的脚本语言

        

    虽然JavaScript和ECMAScript通常被人用来表达相同的意思,但JavaScript的含义去比ECMA-262中规定的多得多。一个完整的JavaScript实现应由三个部分组成:

    1.核心(ECMAScript)

    2.文档对象模型(DOM)

    3.浏览器对象模型(BOM)

    核心ECMAScript)

    由ECMA-262定义的ECMAScript是一种在国际认可的标准的脚本语言规范,Web浏览器没有依赖关系。ECMA-262标准主要规定了这门语言由以下组成部分:

    1.语法

    2.变量和数据类型

    3.关键字和保留字

    4.操作符

    5.控制语句

    6.对象

    2009年ECMAScript 5.0版正式发布。在很长一段时间,使用javaScript都是按照5.0的标准。2015年ECMAScript 6发布正式版本,官方称为ECMAScript 2015ECMAScript定义了脚本语言的所有属性、方法和对象。因此抵用web客户端脚本编码时一定要遵循ECMAScript标准。

    文档对象模型(DOM

    DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。DOM 将把整个页面规划成由节点层级构成的文档。HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。

    浏览器对象模型(BOM

    IE 3.0 和 Netscape Navigator 3.0 提供了一种特性 - BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作。使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的操作

     

    展开全文
  • 程序段的概念

    千次阅读 2018-02-09 10:34:18
    1.的概念:程序的一部分,整个程序的所有组成部分分成一个一个段,并且给每个一个名字,然后在链接时就可以用这个名字来指示这些,使得这些排布在合适的位置。2.的命名a.编译器链接器内部名,如:...

    1.段的概念:段是程序的一部分,整个程序的所有组成部分分成一个一个段,并且给每个段起一个名字,然后在链接时就可以用这个名字来指示这些段,使得这些段排布在合适的位置。

    2.段的命名

    a.编译器链接器内部段名,如:

    代码段(.text)又叫文本段,就是函数编译后生成的东西;

    数据段(.data)数据段在C语言中为显示初始化为非0的全局变量;

    bss段又叫zero initial段,就是零初始化段,对应C语言中初始化为0的全局变量;

    (1)如何保证C语言中全局变量未显式初始化为0:本质上就是将这类全局变量放在了bss段当中,在每次设置栈时,都会先清除bss段,使得bss段的数据是干净的全部为0;

    (2)C语言运行过程中如何保证data段的数据在main函数之前被赋值:因为data段会在main函数之前被处理。

    展开全文
  • 程序组成部分

    千次阅读 2016-02-13 09:55:08
    程序组成部分 如上图所示。程序由code到stack地址小到大,code之前有一段不可读的区域,stack之后是不可访问的系统代码区。 text+data+bss的大小是在程序编译阶段确定的。主要分为以下部分: code 代码...

    程序的组成部分

    这里写图片描述
    如上图所示。程序由 code 到 stack 地址由小到大,

    • .text` 之前有一段不可读的区域;

    • .text + .rodata + .data + .bss + .heap + .stack 的大小是在程序编译阶段确定的;

      • .text 段:存放程序代码的区域;
      • .rodata 段:ro 表示 read only ,rodata 表示只读常量数据段;
        • 常量不一定存放再 .rodata 处,也有可能存放再 .text,例如一些立即数;
        • 字符串常量存放在 .text 段,在编译期间就可以确定;
        • const 修饰的变量存放在 .text 段,在程序运行期间确定;
      • .data 段:存储已初始化的全局变量;已初始化的全局变量在文件和运行中都占存储空间;
      • .bss段:存放未初始化的全局变量或者全局变量初始化为 0;
        • 在文件中不占存储空间;
        • 在运行中占存储空间;
      • .heap 段:堆区,用于动态申请内存的区域,由程序员申请内存和释放内存;
        • malloc:用来分配一块制定大小的内存;
        • realloc:用来调整/重分配一块存在的内存;
        • free:用来释放不再使用的内存;
        • 内存泄漏:内存分配了不释放;
        • 程序 crash:释放了不存在的内存;
        • 缓冲区溢出(Buffer Overflow):写或读超过范围的内存;
        • 可以使用 valgrind 程序内存;
      • .stack 段:栈区,存放局部变量和函数参数,由系统申请内存和释放内存;
        • 栈是一种数据结构,栈中数据的存取方式是:先进先出,后进后出;
        • 通常情况下,栈地址向下(低地址)增长,没 Push 一个地址,栈顶就向低地址扩展,每 Pop 一个元素,栈顶就向高地址回退;
    • Stack 之后是不可访问的系统代码区;

    示例说明 .data.bss

    .data 段的变量既占文件空间,又占运行空间

    // 文件名: data.c
    int data_arr[1024 * 1024] = {1, }; // .data 段,初始化为 1,空间大小为 4M;
    int main(int argc, char *argv[])
    {
        return 0
    }
    
    $ gcc -g data.c -o data
    $ ls -l data
    -rwxrwxr-x 1 zach zach 4203984 9月 6 08:27 data
    objdump -h data | grep \\.data
     24 .data 00400020 0000000000601020 0000000000601020 00001020 2**5
    

    由上述可知文件空间和运行空间,都有 4M 多;


    .bss 段的变量不占文件空间,但是占用运行空间;

    // 文件名: bss.c
    int data_arr[1024 * 1024] = {0, }; // .bss 段,初始化为 0,空间大小为 4M;
    int main(int argc, char *argv[])
    {
        return 0;
    }
    
    $ gcc -g exercise.c -o bss
    $ ls -l bss 
    -rwxrwxr-x 1 zach zach 9664 9月 6 08:31 bss
    $ objdump -h bss | grep \\.bss
     25 .bss 00400020 0000000000601040 0000000000601040 00001030 2**5
    

    由上述可知,.bss 段不占文件空间,占用运行空间;


    代码说明


    int data_arr2[1024 * 1024] = {1, }; // .data 段
    int data_arr1[1024 * 1024] = {0, }; // .bss 段
    char * p1;	// .bss段
    int main()
    {
         int b; // 栈区 .stack
         char s[] = "abs"; // 栈区 .stack
         char *p2; // 栈区 .stack
         char *p3 = "12345"; // “12354\0”在只读常量区 .rodata,p3在栈区
         static int c = 0; / / 全局静态区,.bss段
         p1 = (char *)malloc(10);// 在堆区分配10个Byte
         p2 = (char *)malloc(20);// 在堆区分配20个Byte
         strcpy(p1,"123456"); // “123456\0”在常量区,常量区应该介于code和Data之间
    }
    

    内存的分配方式


    主要由三种分配方式:

    • 在静态存储区分配:
      • 涉及到的变量由:字符串常量、static 申请的变量, 全局变量;
      • 涉及到的内存区段有:.rodata 段、.data 段,.bss 段;
      • 静态存储区的变量生命周期是整个程序的运行周期;
    • 在栈上分配:
      • 局部变量;
      • 函数的形参;
      • 在函数退出时,自动清空;
    • 在堆上分配:动态内存分配:
      • molloc 申请内存;
      • realloc 再分配;
      • free 释放内存;
    展开全文
  • C++程序组成部分

    千次阅读 2018-11-05 16:04:16
    1、预处理编译指令#include ...通俗的说,就是我们要在某段程序中使用一个其他源文件中的函数,那么我们可以将该源文件函数的声明写在对应的头文件里面,然后在当前程序段前面include这个头文件,即可使用头文件...

    1、预处理编译指令#include

    首先来谈谈头文件,也就是我们经常看到的:#include <filename>,这叫做预处理器编译指令。在实践开发中,往往需要将很多文件组织起来,其中就包括预处理指令编译的方式。通俗的说,就是我们要在某段程序中使用一个其他源文件中的函数,那么我们可以将该源文件函数的声明写在对应的头文件里面,然后在当前程序段前面include这个头文件,即可使用头文件里面声明的函数。我们在include标准头文件的时候,使用的是<>,而对于自己创建的头文件,则使用“”

    2、程序主体main()

    main()函数是程序的入口,和其他函数不一样,main函数的返回值是无关紧要的,因此常常常常这样写:

    int main(){
    	//...
    	return 0;
    }
    

    有时我们需要在可执行文件后面添加参数,这是我们需要在main()括号里面写两个参数:

    int main(int argc, char **argv){
    	//...
    	return 0;
    }
    

    其中argc是可执行文件参数的个数,argv是参数数组。需要说明的是argv[0]是可执行文件本身, 其后才是跟在可执行文件后面的其它参数。具体来说,假如有一下可执行指令:

    ./exe a b c
    

    对应的:

        argc = 4;
        argv[0] = exe;
        argv[1] = a;
        argv[2] = b;
        argv[3] = c;
    

    3、main程序的返回值

    对于main程序来说,其返回值对程序本身没有意义,但往往可以在不同的地方return不同的值,这相当于用于判别程序错误类型的标志,常见的return 0;是程序正常退出的标志,return -1;则表示异常退出。

    4、命名空间

    C++中最常见的命名空间应该是std,即standard(用来获取ISO标准委员会批准的函数、流和工具)
    std中包含cout函数,用法为std::cout,使用using namespace std;即可避免添加限定符std。如果有两个函数同名,且在不同的命名空间中,那么就必须添加这个限定符。

    5、注释

    注释就很简单了,有两种方法:

    • 单行注释:
    //注释内容
    
    • 多行注释:
    /*注释内容
    ...
    注释内容*/
    

    既然这么简单,有什么好说的呢,其实注释尤其重要,注释是项目编写的重要组成部分,虽然不参与编译,但对合作开发是非常有必要的,同时也能提醒自己片段代码的的功能。例如一个简单的注释如下:

    /* function return the value of a+b
     * input (double) a, b
     * output (double) result
     */
    double add(double a, double b)
    {
    	return a+b;
    }
    

    这是一个简单的加法函数注释,包含了功能、输入、输出等信息。当一个函数篇幅很长时,这样的注释会大大增加代码可读性。

    6、函数

    简单地来说,函数可分为两种类型:有返回值、没有返回值。有返回值的函数往往是对一个算法的封装,即根据输入得到算法结果;没有返回值的函数一般用来修改参数值的,常常通过引用和指针来实现。比如上面的add函数就是一个有返回值的函数,下面的swap函数则是一个不带返回值的函数:

    void swap(double &a, double &b)
    {
    	double a_temp;
    	a_temp = a;
    	a = b;
    	b = a_temp;
    }
    
    展开全文
  • 代码段与程序段的区别

    千次阅读 2012-09-21 23:23:18
    一个程序本质上都是 bss、data、text三个组成的。这样的概念,不知道最初来源于哪里的规定,但 在当前的计算机程序设计中是很重要的一个基本概念。而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统...
  • 给定一个由 n 个整数组成的序列A1,A2,……, An 和两个整数L,R,你的任务是写一个程序来计算序列号在L,R 这位置区间内所有数的总和。 Input 输入只有一组测试数据: 测试数据的第一行为一个整数 n (1&...
  • UNIX系统中进程哪三部分组成

    千次阅读 2015-10-03 10:42:15
    在UNIX系统中进程以下三部分组成:①进程控制块PCB;②数据;③正文。  UNIX系统为了节省进程控制块所占的内存空间,把每进程控制块分成两部分。部分常驻内存,不管进程是否正占有处理器运行,系统经常...
  • 程序编译的几阶段

    千次阅读 2017-03-14 13:07:01
    程序编译的过程中就是将用户的文本形式的源代码(c/c++)...3、链接,链接器将代码在执行过程用到的其他目标代码和库文件链接成为一个可执行程序也就是目标程序。1、编译编译的过程就是将源代码文件以字符流的形式进
  • 动态区域(栈、堆)、静态存储区(数据段和程序段)    堆 1 类成员变量存放在堆区,所有类的实例和数组都是在堆上分配内存的,堆内存存活和死亡的对象,空闲碎片区组成,对象所占的堆内存是自动内存管理...
  • C++:第一个程序

    万次阅读 2018-10-04 16:52:50
    C++的第一个程序一个向控制台输出向世界问好的程序,源码如下,其程序文件名可为HelloWorld.cpp: #include &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp...
  • 一个完备的嵌入式系统硬件架构有哪几部分构成?图 1 给出了本文的讨论所基于的硬件平台,实际上,这也是大多数嵌入式系统的硬件平台。它包括两部分:(1) 以通用处理器为中心的协议处理模块,用于网络控制协议的...
  • 知识点:理解 ASP.NET 的概念和优势、会创建 ASP.NET Web Form 程序、理解 ASP.NET Web Form 程序的执行阶段、会使用代码内嵌和代码后置两种方式进行编码。 1、网站开发基础了解 1.1 网站开发各环节组成 1.2 ...
  • 关于微信小程序的基础知识与代码构成~
  • 一个程序的执行过程

    千次阅读 2017-10-22 20:15:56
    程序,是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件,我们通常理解为源程序就是我们所写好的代码。  可执行程序,我们常说的.exe程序,可以执行程序,完成计算机功能。在C语言中,.c...
  • 如何快速看懂一个大型程序

    千次阅读 2018-12-18 15:40:30
    不要消极的去阅读别人的代码,而是带着挖掘宝藏的精神去寻找别人的代码中精华的部分,找出其中好的架构为我所用。   大体思路: (1)忽略细节,先前不要关注分支(支线)。不重要的功能,扫而过。 (2)先...
  • 一个程序从源代码到可执行程序的过程

    万次阅读 多人点赞 2018-06-26 10:45:13
    一个程序一个可执行程序的过程:预编译、编译、汇编、链接。 其中,编译是主要部分,其中又分为六个部分:词法分析、语法分析、语义分析、中间代码生成、目标代码生成和优化。 链接中,分为静态链接和动态链接...
  • 章来自:... 翻译自TI应用手册SPRAAU8 ...这应用报告和相关的代码提供了种把编译后的程序段从TMS320F28xxx的flash复制到ram的功能,这样可以提高代码的运行速度。这解决方案在直接启动
  • 嵌入式系统主要哪几部分组成

    万次阅读 2018-08-10 15:04:00
    学习嵌入式当然离不开嵌入式系统,而嵌入式系统通常在反应和执行时间方面有要求的环境中运行,嵌入式系统可粗略地划分为硬件和软件,其中硬件...一个典型的嵌入式系统包括8个部分,下面尚观教育小编给大家讲下嵌入...
  • 构建一个Flex程序

    千次阅读 2007-05-16 14:27:00
    构建一个Flex程序Flex定义了一个基于组件的开发模型,从而我们可以用来构建我们的程序。为了高效的设计与构建我们的程序,我们应该熟悉这个模型,以及程序开发步骤与布署过程。在这一章描述了我们用来创建一个程序的...
  •  这应用报告和相关的代码提供了种把编译后的程序段从TMS320F28xxx的flash复制到ram的功能,这样可以提高代码的运行速度。这解决方案在直接启动之后,进入c_int00 ——C语言代码运行之前实现此功能。  本...
  •  这应用报告和相关的代码提供了种把编译后的程序段从TMS320F28xxx的flash复制到ram的功能,这样可以提高代码的运行速度。这解决方案在直接启动之后,进入c_int00 ——C语言代码运行之前实现此功能。  ...
  • 程序控制器的组成及原理总结

    万次阅读 2016-10-06 14:35:31
    基本概念这一部分像是微观版本的计算机部件之间的关系缩影。在我们可见的模块关系中,主存,CPU之间的数据流,控制信号的传输,...核心思想是:把每条机器指令转化为一段程序,并把这程序存入控制存储器(Contr
  • 客户机/服务器体系结构哪几部分组成? 客户机/服务器(C/S)体系结构是基于资源不对等,且为实现共享而提出来的,服务器、客户机和网络三部分组成。 1)服务器:负责给其他子系统提供服务。例如,数据库服务器...
  • 开发制作一个程序需要多少钱

    千次阅读 2019-05-21 09:41:27
    这几数据都在说明小程序领域进入了全新的高速发展阶段,小程序开发得到了越来越多开发者的喜爱,也越来越受到商家企业的认可,200多细节分行业都开始有了自己的小程序,小程序开发的前景是相当可观的,做小...
  • OpenGL简介OpenGL是一种应用程序...在OpenGL 3.0以前的版本或者使用兼容模式的OpenGL环境,OpenGL包含一个固定管线(fixed-function pipeline),它可以在不使用着色器的环境下处理几何与像素数据。我们看到的glBegin
  • 来源:华为机试题2描述写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。知识点字符串,循环运行时间限制0M内存限制0输入输入一个有字母...
  • 一个简单的Java应用程序

    千次阅读 2018-05-31 13:58:24
    下面看一个最简单的Java应用程序,其功能:发送一条消息到控制台窗口中。源代码如下:public class FirstSample{ public static void main(String[] args) { System.out.println("We will, we will."); }...
  • 第一章——一个简单的iOS应用程序

    千次阅读 2017-08-29 09:17:31
    一个简单的iOS应用程序在本章中,您将要编写一个名为Quiz的iOS应用程序。 此应用程序将显示一个问题,然后在用户点击按钮时显示答案。 点击另一个按钮将向用户显示一个新问题

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 573,678
精华内容 229,471
关键字:

一个程序段由哪些部分组成