endif

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

你。 提交于 2019-12-08 05:12:31
进程之间的通信 预备知识: 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、

在html中判断IE浏览器的版本

烈酒焚心 提交于 2019-12-06 17:46:12
如何让静态HTML代码根据不同IE版本显示不同内容。 这里的技巧就是利用IE的HTML注释表达式。 HTML 的注释格式是 <!-- Comment content --> , IE 对HTML注释做了一些扩展,使之可以支持条件判断表达式: <!--[if expression]> HTML <![endif]--> 当表达式expression 为True 的时候,显示 HTML 内容。 例子: view plaincopy to clipboardprint? <!--[if IE 5]> <p>Welcome to Internet Explorer 5.</p> <![endif]--> <!--[if IE 5]> <p>Welcome to Internet Explorer 5.</p> <![endif]--> 和编程语言类似,这里的表达式还支持大于(gt)、小于(lt)、 与或非 等操作符。 下面是一些例子。 [if IE] 判断是否IE [if IE 7] 判断是否是IE7 [if !IE] 判断是否不是IE [if lt IE 5.5] 判断是否是IE5.5 以下版本。 (<) [if lte IE 6] 判断是否等于IE6 版本或者以下 (<=) [if gt IE 5] 判断是否IE5以上版本 (> ) [if gte IE 7] 判断是否 IE7

前端面试题-CSS Hack

风格不统一 提交于 2019-12-06 05:34:10
一、CSS Hack的概念 由于不同厂商的流览器或某浏览器的不同版本(如IE,Firefox/Safari/Opera/Chrome等),对CSS的支持、解析不一样,导致在不同浏览器的环境中呈现出不一致的页面展现效果。这时,我们为了获得统一的页面效果,就需要 针对不同的浏览器或不同版本写特定的CSS样式 。 我们把针对不同的浏览器/不同版本写相应的CSS code的过程,叫做CSS hack! 二、CSS Hack的原理 由于不同的浏览器和浏览器各版本对CSS的支持及解析结果不一样,以及 CSS优先级对浏览器展现效果的影响 ,我们可以据此针对 不同的浏览器情景来应用不同的CSS 。 三、CSS Hack的分类 3.1 CSS 属性前缀法(即类内部 Hack) (1)IE6 能识别下划线" _ "和星号" * " (2)IE7 能识别星号" * ",但不能识别下划线" _ " (3)IE6~IE10 都识别" \9 " (4)firefox 前述三个都不能识别。 3.2 选择器前缀法(即选择器 Hack) (1)IE6 能识别 *html .class{} (2)IE7 能识别 *+html .class{} 或 *:first-child+html .class{} 3.3 IE条件注释法(即 HTML 头部引用 if IE Hack) (1)所有 IE (注:IE10+

#if 和#ifdef的区别

牧云@^-^@ 提交于 2019-12-06 04:27:18
转自: https://blog.csdn.net/zhangchiytu/article/details/7563329 先看个例子: #define TARGET_LITTLE_ENDINA 1 #define TARGET_BIG_ENDINA 0 #ifdef TARGET_LITTLE_ENDINA call little endina function #else call big endina function #endif 不管把 TARGET_LITTLE_ENDINA 和 TARGET_BIG_ENDINA定义成0或者1,甚至后面不写这个0或者1 ,调用的都是little endina函数,这段代码是有问题的,就是没有理解#if和#ifdef之间的区别。 #if 的使用说明 #if的后面接的是表达式,如果表达式为1,则编译#if下面的代码 1 #if (MAX==10)||(MAX==20) 2 ...code... 3 #endif 它的作用是:如果(MAX==10)||(MAX==20)成立,那么编译器就会把其中的#if 与 #endif之间的代码编译进去( 注意:是编译进去,不是执行!! ) #ifdef 的说明 #ifdef 后面接的是一个宏 1 #ifdef (x) 2 ...code... 3 #endif 这个#ifdef 它不管里面的“x

CSS hack

对着背影说爱祢 提交于 2019-12-06 00:26:42
CSS hack由于不同厂商的浏览器,比如Internet Explorer,Safari,Mozilla Firefox,Chrome等,或者是同一厂商的浏览器的不同版本,如IE6和IE7,对CSS的解析认识不完全一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。 这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。 简单的说,CSS hack的目的就是使你的CSS代码兼容不同的浏览器。当然,我们也可以反过来利用CSS hack为不同版本的浏览器定制编写不同的CSS效果。 注意: 我们通常主要考虑的浏览器有 IE6、IE7、IE8 、 谷歌浏览器(chrome) 、 火狐(Mozilla Firefox) 即可,至于我们常用的傲游、QQ的TT浏览器是用你计算机中装的系统自带浏览器的内核,所以只需要兼容以上浏览器即可兼容TT傲游浏览器。 CSS Hack常见的有三种形式: CSS属性Hack、CSS选择符Hack以及IE条件注释Hack, Hack主要针对IE浏览器。 1、属性级Hack:比如IE6能识别下划线“ _ ”和星号“ * ”,IE7能识别星号“ * ”,但不能识别下划线” _ ”,而firefox两个都不能认识。 2、选择符级Hack:比如IE6能识别 *html .class{

HTML_head标签中META,IF IE等

别来无恙 提交于 2019-12-06 00:21:44
常用蓝色标注 ‍<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><!-- 设置页面编码 --> <meta http-equiv="Content-Language" content="zh-CN" /><!--设置页面语言 --> <meta http-equiv="X-UA-Compatible" content="IE=7" /><!-- 针对IE8,强制以IE7模式渲染 --> <meta http-equiv="Cache-Control" content="no-siteapp" /><!-- Baidu:禁止百度生成转码后的手机站 --> <meta http-equiv="refresh" content="5;URL=http://www.baidu.com" /><!-- 5秒后自动刷新指向新页面 --> <meta http-equiv="Cache-Control" content="no-cache" /><!-- 禁止浏览器从本地计算机的缓存中访问页面内容 --> <meta name="keywords" content="keywords01,keywords02"><!-- 向搜索引擎说明你的网页的关键词 --> <meta name="description

条件注释判断浏览器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]

人盡茶涼 提交于 2019-12-06 00:21:35
<!--[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]--> 项目 范例 说明 ! [if !IE] The NOT operator. This is placed immediately in front of the feature , operator , or subexpression to reverse the Boolean meaning of the expression. NOT运算符。这是摆立即在前面的

# ifdef #ifndef 等用法(转)

依然范特西╮ 提交于 2019-12-05 18:57:16
头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。 还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般格式是这样的: #ifndef <标识> #define <标识> ...... ...... #endif <标识>在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,如:stdio.h #ifndef _STDIO_H_ #define _STDIO_H_ ...... #endif 2.在#ifndef中定义变量出现的问题(一般不定义在#ifndef中)。 #ifndef AAA #define AAA ... int i; ... #endif 里面有一个变量定义 在vc中链接时就出现了i重复定义的错误,而在c中成功编译。 结论: (1).当你第一个使用这个头的.cpp文件生成.obj的时候,int i 在里面定义了当另外一个使用这个的.cpp再次[单独]生成.obj的时候,int i 又被定义然后两个obj被另外一个.cpp也include 这个头的,连接在一起

SC06

▼魔方 西西 提交于 2019-12-05 17:10:40
/*--> */ /*--> */ *&---------------------------------------------------------------------* *& Report Z_SALAH_SC06 *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------* REPORT Z_SALAH_SC06 . ********************************************************************** *REPORT DESCRIBE:报表提升练习 *DEVELOPER:SALAH *DEVELOP DATE:20190916 *MODIFY DATE: *FUNCTION SPEC: *KEY USER: ********************************************************************** TYPE-POOLS :SLIS ,VRM . TABLES :MARD ,MARA ,MAKT ,MARC ,MSEG ,MKPF .

年月日选择屏幕

陌路散爱 提交于 2019-12-05 17:09:08
/*--> */ /*--> */ *&---------------------------------------------------------------------* *& Report Z_SELSCREEN_DEMO *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------* REPORT Z_SALAH_SEL . DATA GT_01 TYPE STANDARD TABLE OF EKKO . DATA GV_STR TYPE STRING . TYPES : BEGIN OF TYP_MONAT , MONAT TYPE ZDATA_E_N , END OF TYP_MONAT . DATA GT_MONAT TYPE STANDARD TABLE OF TYP_MONAT . DATA GS_MONAT TYPE TYP_MONAT . ********************************************************************** *选择屏幕 *****************