预处理命令

CSS 预处理语言之 Scss 篇

て烟熏妆下的殇ゞ 提交于 2019-12-05 12:25:37
1. Sass 和 Scss Sass 和 Scss 其实是同一种东西,我们平时都称之为 Sass;Scss 是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承了 Sass 的强大功能。也就是说,任何标准的 CSS3 样式表都是具有相同语义的有效的 Scss文件。 两者之间不同之处有以下两点: 文件 扩展名 不同,Sass 是以“.sass”后缀为扩展名,而 Scss 是以“.scss”后缀为扩展名 语法书写方式不同,Sass 是以 严格的缩进式 语法规则来书写, 不带大括号({})和分号(;) ,而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似。 示例: // Sass 语法 $w:200px; //定义变量 $h:300px; //定义变量 body width:$w; height:$h; // Scss 语法 $w:200px; $h:300px; body{ width:$w; height:$h; } /* 编译出来的css*/ body{ width:200px; height:300px; } 2. Sass/Scss 和 Css Sass 和 Css Sass 和 CSS 写法的确存在一定的差异,由于 Sass 是基于 Ruby 写出来,所以其延续了 Ruby 的书写规范。在书写 Sass 时 不带有大括号和分号 ,其主要是依靠

C学习笔记(9)--- 预处理器,头文件,

不问归期 提交于 2019-12-05 06:52:22
1.预处理器: 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。 我们将把 C 预处理器(C Preprocessor)简写为 CPP。 所有的预处理器命令都是以井号(#)开头。它必须是第一个非空字符,为了增强可读性,预处理器指令应从第一列开始。具体的列表可以在网上找到,这里不再复述。 a.几个常用的: #define MAX_ARRAY_LENGTH 20 (所有的MAX_ARRAY_LENGTH 替换为 20) #include <stdio.h> #include "myheader.h" (这两行指令告诉 CPP 从系统库中获取 stdio.h,并添加文本到当前的源文件中。下一行告诉 CPP 从本地目录中获取 myheader.h,并添加内容到当前的源文件中。) b.预定义宏: 不能修改的预定义宏,可以根据情况使用: __DATE__ 当前日期,一个以 "MMM DD YYYY" 格式表示的字符常量。 __TIME__ 当前时间,一个以 "HH:MM:SS" 格式表示的字符常量 __FILE__ 这会包含当前文件名,一个字符串常量。 __LINE__ 这会包含当前行号,一个十进制常量。 __STDC__ 当编译器以 ANSI 标准编译时,则定义为 1。 c

arm-linux-系列工具,ld,ar,as,objcopy

跟風遠走 提交于 2019-12-04 13:36:37
ref :http://www.360doc.com/content/14/0509/09/17268421_376009916.shtml 一、编译器相关知识学习 GNU GCC简介: GNU GCC是一套面向嵌入式领域的交叉编译工具,支持多种编程语言、多种优化选项并且能够支持分步编译、支持多种反汇编方式、支持多种调试信息格式,目前支持X86、ARM7、StrongARM、PPC4XX、MPC8XX、MIPS R3000等多种CPU。 GNU GCC的基本功能包括:输出预处理后的C/C++源程序(展开头文件和替换宏) 输出C/C++源程序的汇编代码 输出二进制目标文件 生成静态库 生成可执行程序 转换文件格式 GCC 组成: 1. C/C++交叉编译器arm-elf-gcc arm-elf-gcc是编译的前端程序,它通过调用其他程序来实现将程序源文件编译成目标文件的功能。 编译时,它首先调用预处理程序(cpp)对输入的源程序进行处理,然后调用 cc1 将预处理后的程序编译成汇编代码,最后由arm-elf-as将汇编代码编译成目标代码。 arm-elf-gcc具有丰富的命令选项,可以控制编译的各个阶段,满足用户的各种编译需求。 2. 汇编器 arm-elf-as arm-elf-as将汇编语言程序转换为ELF (Executable and Linking Format

(64)C# 预处理器指令

帅比萌擦擦* 提交于 2019-12-04 00:04:20
预处理器命令从来不会被翻译为可执行代码中的命令,但会影响编译过程的各个方面。例如:使用预处理器指令可以禁止编译器编译代码的某一部分,如果计划发布两个版本的代码,即基本版本和有更多功能的企业版本,即可以使用这些预处理器指令。在编译软件的基本版本时,使用预处理器指令还可以禁止编译器编译于额外功能相关的代码。另外,在编写提供调试信息的代码时,也可以使用预处理器指令。在销售软件时,一般不希望编译这部分代码。预处理器指令开头都有符号# 来源: https://www.cnblogs.com/buchizaodian/p/11824582.html

Linux 编译器:GCC

旧巷老猫 提交于 2019-12-03 02:20:42
  GCC是GNU编译套装,是一套由GNU开发的编程语言编译器。 1. 编译过程:         中间经历的若干阶段,分别是预处理,编译,汇编,链接。 2.预处理:   GCC在第一阶段会调用预处理器cpp来对C源程序进行预处理,所谓的预处理就是解释源程序当中所有的预处理命令,那些例如#include,#define,#if等以井号(#)开头的语句就是预处理命令,预处理命令实际上并不是C语言本身的组成部分,而是为了更好的组织程序所使用的一些“预先处理的”工作,这些工作用一种称为与处理指令的语句来描述,然后用预处理器来解释,这些工作包括我们熟悉的诸如文件包含,宏定义,条件编译等。   这些预处理指令将会在预处理阶段被解释,比如会把文件包含语句所指定的文件复制过来,覆盖原来的#include语句,所有的宏定义被展开(因此宏展开是不占用运行时间时),所有的条件编译语句将被执行等。   另外,在这个阶段,除了处理这些预处理指令外,GCC还会把文件中的注释删除,另外添加必要的调试信息。 3 编译:   经过预处理后生成的.i文件依然是一个文本文件,不能被处理器直接编译,我们需要进一步的编译。接下来的编译阶段是4个阶段中最为复杂的阶段,它包括词法和语法的分析,最终生成对应硬件平台的汇编语言(不同的处理器有不同的汇编格式),具体生成什么平台的汇编文件取决于所采用的编译器,如果用的是GCC

Go语言操作MySQL

空扰寡人 提交于 2019-12-02 10:55:36
Go语言操作MySQL Go操作MySQL 连接 Go语言中的 database/sql 包提供了保证SQL或类SQL数据库的泛用接口,并不提供具体的数据库驱动。使用 database/sql 包时必须注入(至少)一个数据库驱动。 我们常用的数据库基本上都有完整的第三方实现。例如: MySQL驱动 下载依赖 go get -u github.com/go-sql-driver/mysql 使用MySQL驱动 func Open(driverName, dataSourceName string) (*DB, error) Open打开一个dirverName指定的数据库,dataSourceName指定数据源,一般包至少括数据库文件名和(可能的)连接信息。 import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) func main() { // DSN:Data Source Name dsn := "user:password@tcp(127.0.0.1:3306)/dbname" db, err := sql.Open("mysql", dsn) if err != nil { panic(err) } defer db.Close() } 初始化连接 Open函数可能只是验证其参数,而不创建与数据库的连接

CSS 预处理语言之 Scss 篇

我只是一个虾纸丫 提交于 2019-12-01 04:36:34
简介 1. Sass 和 Scss Sass 和 Scss 其实是同一种东西,我们平时都称之为 Sass;Scss 是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承了 Sass 的强大功能。也就是说,任何标准的 CSS3 样式表都是具有相同语义的有效的 Scss文件。 两者之间不同之处有以下两点: 文件 扩展名 不同,Sass 是以“.sass”后缀为扩展名,而 Scss 是以“.scss”后缀为扩展名 语法书写方式不同,Sass 是以 严格的缩进式 语法规则来书写, 不带大括号({})和分号(;) ,而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似。 示例: // Sass 语法 $w:200px; //定义变量 $h:300px; //定义变量 body width:$w; height:$h; // Scss 语法 $w:200px; $h:300px; body{ width:$w; height:$h; } /* 编译出来的css*/ body{ width:200px; height:300px; } 2. Sass/Scss 和 Css Sass 和 Css Sass 和 CSS 写法的确存在一定的差异,由于 Sass 是基于 Ruby 写出来,所以其延续了 Ruby 的书写规范。在书写 Sass 时 不带有大括号和分号 ,其主要是依靠

C语言的预处理命令简介

那年仲夏 提交于 2019-11-30 20:27:39
参照C语言的预处理命令简介 : #define 定义一个预处理宏 #undef 取消宏的定义 #include 包含文件命令 #include_next 与#include相似, 但它有着特殊的用途 #if 编译预处理中的条件命令, 相当于C语法中的if语句 #ifdef 判断某个宏是否被定义, 若已定义, 执行随后的语句 #ifndef 与#ifdef相反, 判断某个宏是否未被定义 #elif 若#if, #ifdef, #ifndef或前面的#elif条件不满足, 则执行#elif之后的语句, 相当于C语法中的else-if #else 与#if, #ifdef, #ifndef对应, 若这些条件不满足, 则执行#else之后的语句, 相当于C语法中的else #endif #if, #ifdef, #ifndef这些条件命令的结束标志. defined 与#if, #elif配合使用, 判断某个宏是否被定义 #line 标志该语句所在的行号 # 将宏参数替代为以参数值为内容的字符窜常量 ## 将两个相邻的标记(token)连接为一个单独的标记 #pragma 说明编译器信息#warning 显示编译警告信息 #error 显示编译错误信息 #define SAFE_RELEASE(obj) if(obj){[obj release];obj=nil;} 释放 来源:

C语言条件编译(#if,#ifdef,#ifndef,#endif,#else,#elif)

戏子无情 提交于 2019-11-29 20:08:24
1、条件编译介绍 条件编译(conditional compiling)命令指定预处理器依据特定的条件来判断保留或删除某段源代码。例如,可以使用条件编译让源代码适用于不同的目标系统,而不需要管理该源代码的各种不同版本。 条件编译区域以 #if、#ifdef 或 #ifndef 等命令作为开头,以 #endif 命令结尾。条件编译区域可以有任意数量的 #elif 命令,但最多一个 #else 命令。以 #if 开头的条件编译区域具有下面的格式: #if 表达式1 [ 组1] [#elif 表达式2 [ 组2]] ... [#elif 表达式n [ 组n ]] [#else [ 组n+1 ]] #endif 预处理器会依次计算条件表达式,直到发现结果非 0(也就是 true)的条件表达式。预处理器会保留对应组内的源代码,以供后续处理。如果找不到值为 true 的表达式,并且该条件式编译区域中包含 #else 命令,则保留 #else 命令组内的代码。 组 1、组 2 等代码段,可以包含任意 C 源代码,也可以包含更多的命令,包括嵌套的条件式编译命令。在预处理阶段结束时,没有被预处理器保留以用于后续处理的组会从程序中全部删除。 2、#if 和 #elif 命令 作为 #if 或 #elif 命令条件的表达式,必须是整数常量预处理器表达式。这与普通的整数常量表达式不同,主要区别在于: (1

Go操作MySQL

别说谁变了你拦得住时间么 提交于 2019-11-29 12:15:22
MySQL是常用的关系型数据库,本文介绍了Go语言如何操作MySQL数据库。 Go操作MySQL 连接 Go语言中的 database/sql 包提供了保证SQL或类SQL数据库的泛用接口,并不提供具体的数据库驱动。使用 database/sql 包时必须注入(至少)一个数据库驱动。 我们常用的数据库基本上都有完整的第三方实现。例如: MySQL驱动 下载依赖 go get -u github.com/go-sql-driver/mysql 使用MySQL驱动 func Open(driverName, dataSourceName string) (*DB, error) Open打开一个dirverName指定的数据库,dataSourceName指定数据源,一般包至少括数据库文件名和(可能的)连接信息。 import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) func main() { // DSN:Data Source Name dsn := "user:password@tcp(127.0.0.1:3306)/dbname" db, err := sql.Open("mysql", dsn) if err != nil { panic(err) } defer db.Close() } 初始化连接