endif

gvim设置使用

我的未来我决定 提交于 2019-12-29 11:12:51
最近有一款编辑器叫sublimeText 2比较流行,我也下载用了一下,确实很好看,自动完成,缩进功能什么的也比较齐全,插件也十分丰富。但用起来不是很顺手,最后还是回到了Gvim(Vim的GUI版本,除了一些GUI可以额外设置,颜色支持更多外基本与Vim没有区别)的怀抱,我并没有花很多时间去把玩ST2,没法评论那个更好,不过也许Gvim会更适合我。所以想写几篇博文记录下一路学习Gvim的过程。   写在前面:   (1)我用的是Gvim7.3_46,系统是win7   (2)这一系列文章不会详细的介绍Vim的每一个命令的用法   (3)我会尽量的配图,千言万语有时候真的没有一张图片来得直观   (4)Gvim下载地址 Gvim 需要爬墙   什么叫有感觉呢?最近看了很多相亲的帖子(没错,楼主也是大龄苦逼单身屌丝码农T-T)。经常某某会这样说:“我的要求不高,对方有感觉就好。”,这其实是一个很高的要求,类似于你希望微软为了让你写程序有感觉而推出一个量身打造的VS-For-You,当然你有足够的金钱也不是不可能的(这点和某些相亲情况类似)。话扯远了,我想说的是也许这辈子我们都无法找到一个真正有感觉的人,但这阵子我们完全就可以打造一个有感觉的Vim。   顺眼的外表:     按照上面的下载地址路安装完成之后,来看看我们素颜的Gvim姑娘         

c语言中ifndef和endif的用法

人盡茶涼 提交于 2019-12-24 10:52:34
#ifndef x //if not define的简写    #define x   ...  #endif   这是 宏 定义的一种,它可以根据是否已经定义了一个 变量 来进行分支选择,一般用于调试等等.实际上确切的说这应该是预处理功能中三种(宏定义,文件包含和 条件编译 )中的一种----条件编译。 C语言在对程序进行编译时,会先根据 预处理命令 进行“预处理”。C语言 编译系统 包括预处理,编译和链接等部分。    #ifndef x //先测试x是否被宏定义过    #define x   程序段1 //如果x没有被宏定义过,定义x,并 编译程序 段1    #endif   程序段2 //如果x已经定义过了则编译程序段2的语句,“忽视”程序段1。   条件指示符#ifndef 的最主要目的是防止 头文件 的重复包含和编译。了解:条件编译当然也可以用条件语句来实现。 但是用条件语句将会对整个 源程序 进行编译,生成的 目标代码 程序很长,而采用条件编译,则根据条件只编译其中的 程序段 1或程序段2,生成的 目标程序 较短。如果条件选择的程序段很长,采用条件编译的方法是十分必要的。   #ifndef 标示1 //判断"标示1"是否定义,如果被定义则返回假,如果没有被定义则返回真。      语句1 #ifndef 标示1   语句2 #define 标示1   语句3

[转]ffmpeg在vs2008中的使用

只愿长相守 提交于 2019-12-23 18:54:13
最终采用了 https://blog.csdn.net/smilestone_322/article/details/7605101 的方案 转自: http://blog.sina.com.cn/s/blog_62949ff40101egbw.html 1.到 http://ffmpeg.zeranoe.com/builds/ 下载ffmpeg-20131120-git-e502783-win32-dev和ffmpeg-20131120-git-e502783-win32-shared 2.打开vs2008建立控制台程序,将ffmpeg-20131120-git-e502783-win32-dev下的include和lib拷贝到程序目录下,设置和头文件和库的依赖目录 3.编译过程: 错误一:无法打开包括文件:“inttypes.h”: No such file or directory 解决方法:删除之,并在其之前添加如下代码: #if defined(WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__) # define CONFIG_WIN32 #endif #if defined(WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__) && !defined

条件编译命令 `ifdef、`else、`endif 的用法

陌路散爱 提交于 2019-12-21 14:21:32
昨天晚上看了一段代码,其中出现了`ifdef、`else、`endif,一时想不起来这几个关键字的用法的含义,所以今天来实验室就先查了一下,具体用法如下: 一般情况下,Verilog HDL源程序中所有的行都参加编译。但是有时候希望对其中的一部份内容只有在条件满足的时候才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足条件时对一组语句进行编译,当条件不满足时则对另外一组语句进行编译。 条件编译命令的几种形式: (1)`ifdef宏名(标识符) 程序段1 `else 程序段2 `endif 它的作用是当宏名已经被定义过(此处需要采用`define命令定义),则对程序段1进行编译,程序段2将被忽略;否则编译程序段2,程序段1将被忽落。其中`else部分可以没有,即: (2)`ifdef宏名(标识符) 程序段1    `endif 这里的“宏名”是一个Verilog HDL 的标识符,“程序段”可以是Verilog HDL语句组,也可以是命令行。这些命令可以出现在源程序的任何地方。 注意:被忽略掉不进行编译的程序段部分也要符合Verilog HDL程序的语言规则。 通常在Verilog HDL程序中用到`ifdef、`else、`endif编译命令的情况有以下几种: (1)选择一个模板的不同代表部分。 (2)选择不同的时许或结构信息。 (3

Linux操作系统 进程之间的通信

孤人 提交于 2019-12-20 18:13:45
进程之间的通信 预备知识: 1、用户态和内核态,当一个进程在执行用户自己的代码时处于用户运行态(用户态);当一个进程因为系统调用陷入内核代码中执行时处于内核运行态(内核态)。 2、进程之间的通信(Inter Processs Communication- IPC )实现机制有:管道、消息队列、信号值、信号、共享内存、共享映射文件、套接字等。 3、及时通信:信号(类似中断);非及时通信:共享内存、邮箱、管道、套接字、 4、常见的信号:终止信号、定时器信号、用户自定义信号等 5、信号: 用户、系统或者进程 发送给 目标进程 的 信息 ,以通知目标进程某个 状态的改变 或 系统异常 。 6、 PCB(progress control block- 进程控制块),系统通过PCB,描述进程和控制进程。在Linux系统下,PCB是 task_struct结构体(进程描述符) 。   1、 进程状态 :记录进程是处于运行状态还是等待状态   2、 调度信息 :进程由哪个函数调度,具体怎样调度等   3、进程之间的 通讯状况   4、进程之间的 亲属关系 :在父进程和子进程之间有task_struct类型的指针,将父进程和子进程联系起来   5、 时间数据信息 :每个进程执行所占用CPU的时间   6、 进程的标志   7、 进程的标识符 :该进程唯一的标识符用来区别其他进程   8、

C语言Bool型转int型,布尔型 转 整型

情到浓时终转凉″ 提交于 2019-12-18 15:56:44
C99中支持bool,是以宏定义实现 // // stdbool.h // // Copyright (c) Microsoft Corporation. All rights reserved. // // The C Standard Library <stdbool.h> header. // #ifndef _STDBOOL #define _STDBOOL #define __bool_true_false_are_defined 1 #ifndef __cplusplus #define bool _Bool #define false 0 #define true 1 #endif /* __cplusplus */ #endif /* _STDBOOL */ 可以自定义bool类型,就不会涉及bool型转int型的问题 #ifndef __cplusplus #ifndef bool #define bool int #define true 1 #define false 0 #endif #endif 来源: CSDN 作者: ball1428 链接: https://blog.csdn.net/baidu_41871113/article/details/103595191

windows下搭建c++开发环境(MinGW-64 + VIM)

帅比萌擦擦* 提交于 2019-12-18 03:58:08
windows下搭建c++开发环境(MinGW-64 + VIM) 前言 所需文件介绍,及其下载地址 MinGW-64安装过程 vim安装以及配置 前言 c++开发环境的搭建有两种方式,一是安装 集成开发环境(IDE) ,c++有许多IDE。如 Code::Blocks 、 Visual Studio 、 CodeLite … 但IDE软件大,功能多,不够灵活。这篇文章介绍第二种方法: 编译器+编辑器 ,我认为更适合爱折腾的初学者,我做这个主要用于算法学习。 所需文件介绍,及其下载地址 1.编译器: MinGW-64 ,进入网址后点击 Files ,文件在该目录下: Toolchains targetting Win64 –> Personal Builds –> mingw-builds –> 8.1.0 –> threads-posix –>seh 这里下载的是64位、seh异常处理机制、POSIX线程的gcc包。 什么是MinGW-64?我也不清楚,只能贴过来 一篇文章 ,c++有 很多编译器 ,其他不做介绍。 2. 编辑器: vim ,进入网址后点击 Download 再点击 PC: MS-DOS and MS-Windows ,再点击gvim82.exe(ftp)完成下载 MinGW-64安装过程 把下载好的 x86_64-8.1.0-release-posix-seh

ie678 兼容问题

孤街醉人 提交于 2019-12-16 15:14:38
<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> <!--[if IE]> 所有的IE可识别 <![endif]--> <!--[if IE 6]> 仅IE6可识别 <![endif]--> <!--[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]--> <!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]--> <!--[if IE 7]> 仅IE7可识别 <![endif]--> <!--[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]--> <!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]--> <!--[if IE 8]> 仅IE8可识别 <![endif]--> <!--[if IE 9]> 仅IE9可识别 <![endif]--> ie8,ie7 背景图片不重复 图片地址后面加空格 否则图片不显示 background:url("images/ylhlsedg_18.jpg") no-repeat; ie7 z-index问题 对自身设置z-index之后需要在自己的父级元素设同样的index 兼容ffIE678 hack(IE6、IE7、IE8、Firefox兼容性CSS HACK代码+示例)

Unity宏定义重构修改

大城市里の小女人 提交于 2019-12-14 06:13:42
using UnityEngine; public class Platformtool { public static bool IsAndroid { get { bool retValue = false; #if UNITY_ANDROID retValue = true; #endif return retValue; } } public static bool IsEditor { get { bool retValue = false; #if UNITY_EDITOR retValue = true; #endif return retValue; } } public static bool IsIOSiPhone { get { bool retValue = false; #if UNITY_IOS if ((float)Screen.width / (float)Screen.height >= 1.5f) { retValue = true; } else { retValue = false; } #endif return retValue; } } public static bool IsiOSIpad { get { bool retValue = false; #if UNITY_IOS if ((float)Screen.width /

extern使用注意事项与语法简述

谁都会走 提交于 2019-12-09 13:12:58
1.使用extern时要严格对应声明的格式,定义的是数组类型,extern char a[];而不能是extern char *a; 2.如果要在*.c文件中引用另一个文件中的一个全局变量,那就应该放在*.h中用extern来声明这个全局变量。 3.函数声明和定义前面extern没有实际的意义(除非不想在对应头文件声明 —— 省略头文件),如果该函数不想被调用可以添加static关键词 4.根据编译器不同,有些编译器可以链接(extern)常量:const float pi = 3.14; extern const flaot pi; 5.extern 可以链接外部变量,当我们两个文件同时引用同一个全局变量的时候,只在一个文件定义,编译时会在未定义的文件报错;在两个文件都定义,编译通过,链接时会包定义冲突的错误,解决办法就是其中一个文件定义,另一个文件extern来告诉编译器这个变量在其他文件定义过了,自个儿去找(^..^)。当然也可以通过头文件的方式来实现,变量定义在头文件,连个引用变量的.c文件均include有该头文件。 6.extern "c",在C++的环境,想要兼容C,一般都是需要extern "C"。格式: #ifdef __cplusplus #if __cplusplus extern "C"{ #endif #endif /* __cplusplus */ …