endif

兼容性总结

ε祈祈猫儿з 提交于 2020-04-05 16:31:23
写在前面的话,也不知道还要不要管ie6、7,晕晕乎乎的 1、h5兼容性 引用 html5shiv.js <script src="js/html5shiv.js"></script> 2、 1. 在IE6元素浮动,如果宽度需要内容撑开,就给里边的块元素都加浮动 例: <div class="box"> <div class="left"> <h3>左侧</h3> </div> <div class="right"> <h3>右侧</h3> </div> </div> 给它设置css .box{ width:200px;} .left{background:red;float:left;} .right{float:right; background:blue;} h3{margin:0;height:30px;} </style> 显示如下: 解决办法: h3{margin:0;height:30px; float:left;} -2 在IE6下元素要通过浮动并在同一行,就给这行元素都加浮动 例: <div class="box"> <div class="left"></div> <div class="right"></div> </div> 样式 .left{width:100px;height:100px;background:red; float:left;}

C2143: 语法错误 C4430: 缺少类型说明符 - 假定为 int 原因是没有包含头文件(含糊不清,以备查)

我与影子孤独终老i 提交于 2020-04-01 08:32:48
1>e:\最新_carinfo_能运行_修改后\trunk\vss\inc\ccarinfoadd.h(96) : error C2143: 语法错误 : 缺少“;”(在“*”的前面) 1>e:\最新_carinfo_能运行_修改后\trunk\vss\inc\ccarinfoadd.h(96) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 1>e:\最新_carinfo_能运行_修改后\trunk\vss\inc\ccarinfoadd.h(96) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 当工程比较大时,包含很多时,我现在的体会是.h里定义的对象,可以把包含在stdafx.h里这样(不用包含在.h里,在cpp里有#include"stdafx.h",可以自动在头文件里识别): // stdafx.h : 标准系统包含文件的包含文件, // 或是经常使用但不常更改的 // 特定于项目的包含文件 #pragma once #ifndef VC_EXTRALEAN #define VC_EXTRALEAN // 从 Windows 头中排除极少使用的资料 #endif // 如果必须将位于下面指定平台之前的平台作为目标,请修改下列定义。 //

#ifndef #define #endif用法

给你一囗甜甜゛ 提交于 2020-03-24 02:35:16
在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时,就会出现大量重定义的错误。在头文件中实用#ifndef #define #endif能避免头文件的重定义。 方法:例如要编写头文件test.h 在头文件开头写上两行: #ifndef _TEST_H #define _TEST_H//一般是文件名的大写 头文件结尾写上一行:#endif这样一个工程文件里同时包含两个test.h时,就不会出现重定义的错误了。 分析:当第一次包含test.h时,由于没有定义_TEST_H,条件为真,这样就会包含(执行 )#ifndef _TEST_H和#endif之间的代码,当第二次包含test.h时前面一次已经定义了_TEST_H,条件为假,#ifndef _TEST_H和#endif之间的代码也就不会再次被包含,这样就避免了重定义了。主要用于防止重复定义宏和重复包含头文件 _TEST_H一般为当前路径,即可保证独一无二。 来源: https://www.cnblogs.com/hcareking/p/5216945.html

C语言中常用的调试宏

荒凉一梦 提交于 2020-03-17 22:46:04
C语言中常用的调试宏 背景 在C语言编写中,经常想因为调试的原因,插入一些临时输出的变量,或者执行一些不必要的指令。 写完之后频繁注释和反注释很耗时间,而且可能会造成不必要的错误。 因此作者采用了宏命令的方式,插入一些调试输出。 代码 // File: debug.c // some debug Macro // #define DEBUG # ifndef DEBUG_PRINT # ifdef DEBUG # define DEBUG_PRINT(fmt, args...) fprintf(stderr, fmt, ## args) # else # define DEBUG_PRINT(fmt, args...) /* Don't do anything in release builds */ # endif # endif //DEBUG_PRINT # ifndef DEBUG_RUN # ifdef DEBUG # define DEBUG_RUN(args) {args ; } # else # define DEBUG_RUN(args...) # endif # endif //DEBUG_RUN 使用方式 将上述代码加入到头文件中。 Gcc编译时加入-DDEBUG定义DEBUG宏 gcc -DDEBUG -o ./a.out 对于DEBUG_PRINT

APP——uniAPP 中ifdef #ifndef #endif 的用法,可以处理平台的兼容性

Deadly 提交于 2020-03-12 17:21:42
1.#ifdef #ifndef #endif三者的意思 #ifdef 仅在某个平台上使用 #ifndef 在除了这个平台的其他平台上使用(非此平台使用) #endif 结束条件编译 #ifde 2.平台标识的意思 标识 平台 APP-PLUS 5+App MP 微信小程序/支付宝小程序/百度小程序/头条小程序/QQ小程序 MP-WEIXIN 微信小程序 MP-ALIPAY 支付宝小程序 MP-BAIDU 百度小程序 MP-TOUTIAO 头条小程序 MP-QQ QQ小程序 H5 H5 APP-PLUS-NVUE 5+App nvue 2.结合使用列子 例子1(仅在5+app平台上此代码生效) /* 可以使用// 或者 <!-- --> */ // #ifdef APP-PLUS <view>仅在5+app平台上显示代码</view> // #endif methods: { // #ifdef APP-PLUS click(){ console.log('仅在5+app平台上生效的事件') }, // #endif } 例子2(非5+app平台上此代码生效) /* 可以使用// 或者 <!-- --> */ <!-- #ifndef APP-PLUS --> <view>只要不是5+app平台上此代码会显示</view> <!-- #endif --> methods: { <!

cygwin64 编译 redis2.8.3源码

匆匆过客 提交于 2020-03-01 13:00:48
1) windows 7 64 2) 安装 cygwin 64 下载相关的库 3) 下载redis 2.8.3源码 wget http: //download.redis.io/releases/redis-2.8.3.tar.gz 进入到deps目录,修改文件 deps/hiredis/fmacros.h #ifndef __HIREDIS_FMACRO_H #define __HIREDIS_FMACRO_H #if !defined(_BSD_SOURCE) #define _BSD_SOURCE #endif #if defined(__sun__) #define _POSIX_C_SOURCE 200112L #elif defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__) #define _XOPEN_SOURCE 600 #else #define _XOPEN_SOURCE #endif //这是添加的. #if defined(__linux__) || defined(__CYGWIN__) #define _GNU_SOURCE #define _DEFAULT_SOURCE #endif #endif 然后编译deps cd deps make lua linenoise

【C/C++】_cmpublic.h

荒凉一梦 提交于 2020-03-01 08:03:03
# ifndef _cmpublic_H # define _cmpublic_H # include <stdio.h> # include <utime.h> //#include <curl/curl.h> # include <string.h> # include <strings.h> # include <ctype.h> # include <stdlib.h> # include <unistd.h> # include <fcntl.h> # include <limits.h> # include <time.h> # include <math.h> # include <stdarg.h> # include <errno.h> # include <signal.h> # include <netdb.h> # include <locale.h> # include <dirent.h> # include <termios.h> # include <pthread.h> # include <semaphore.h> # include <sys/stat.h> # include <sys/time.h> # include <sys/types.h> # include <sys/socket.h> # include <netinet/in

为什么在C ++头文件中使用#ifndef和#define?

允我心安 提交于 2020-02-28 04:53:24
我一直在头文件的开头看到这样的代码: #ifndef HEADERFILE_H #define HEADERFILE_H 并在文件的最后是 #endif 这样做的目的是什么? #1楼 这些被称为 #include警卫 。 包含标头后,它会检查是否定义了唯一值(在本例中为 HEADERFILE_H )。 然后,如果未定义,则定义它并继续到页面的其余部分。 当再次包含代码时,第一个 ifndef 失败,导致空白文件。 这可以防止双重声明任何标识符,例如类型,枚举和静态变量。 #2楼 #ifndef <token> /* code */ #else /* code to include if the token is defined */ #endif #ifndef 检查给定标记在文件或包含文件中是否已经 #defined ; 如果没有,它包括它与结束 #else 之间的代码,或者,如果没有 #else ,则包括 #endif 语句。 #ifndef 通常用于通过在包含文件后定义令牌并检查令牌未设置在该文件的顶部来使头文件具有幂等性。 #ifndef _INCL_GUARD #define _INCL_GUARD #endif #3楼 这可以防止多次包含相同的头文件。 #ifndef __COMMON_H__ #define __COMMON_H__ //header file

C#if / then指令用于debug和release

让人想犯罪 __ 提交于 2020-02-26 12:44:26
在解决方案属性中,我将Configuration设置为“release”,用​​于我唯一的项目。 在主程序的开头,我有这个代码,它显示“Mode = Debug”。 我也在最顶端有这两行: #define DEBUG #define RELEASE 我在测试正确的变量吗? #if (DEBUG) Console.WriteLine("Mode=Debug"); #elif (RELEASE) Console.WriteLine("Mode=Release"); #endif 我的目标是根据调试版本和发布模式为变量设置不同的默认值。 #1楼 命名空间 using System.Resources; using System.Diagnostics; 方法 private static bool IsDebug() { object[] customAttributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(DebuggableAttribute), false); if ((customAttributes != null) && (customAttributes.Length == 1)) { DebuggableAttribute attribute = customAttributes[0]

编译预处理命令define

自闭症网瘾萝莉.ら 提交于 2020-02-26 12:42:39
#include 包含指令 将一个源文件嵌入到当前源文件中该点处。 #include<文件名> 按标准方式搜索,文件位于C++系统目录的include子目录下 #include"文件名" 首先在当前目录中搜索,若没有,再按标准方式搜索。 #define 宏定义指令 定义符号常量,很多情况下已被const定义语句取代。 定义带参数宏,已被内联函数取代。 #undef 删除由#define定义的宏,使之不再起作用。 1 #define PI 3.14 2 #undef //取消之前已有的宏定义 条件编译指令 #if 和 #endif #if 常量表达式 //当“ 常量表达式”非零时编译 程序正文 #endif ...... 1 #if 0 //如果将0改为1表示要编译 2 ------------- 3 ------ 4 不编译 5 ---------- 6 #endif 条件编译指令 ——#else #if 常量表达式 //当“ 常量表达式”非零时编译 程序正文 #else //当“ 常量表达式”为零时编译 程序正文2 #endif #if !strcmp(char *a,char *b) //如果为真则编译,否则编译else #else #endif 条件编译指令 ——#elif #if 常量表达式1 程序正文1 //当“ 常量表达式1”非零时编译 #elif 常量表达式2