在 ITPub 论坛上,最近有朋友发起了一个"请列出你在从事DBA生涯中,最难以忘怀的一次误操作"话题讨论,如果有足够的耐心看下去的话,会发现很多误操作都是类似的,最上镜的就是这个操作系统级别的 "rm -f" / "rm -rf" 了。阅读全文
./server: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
解决办法:

ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2
或者安装libevent时指定目录 --prefix=/usr/lib
动态链接库是一种通用的软件组件技术,是多种操作系统中提供基本服务的方式。比如Win32内核就是3个DLL文件构成。这种技术在Linux操作系统下也有对应的实现,就是Linux标准对象Standard Ojbect,对应的文件扩展名为.so。阅读全文
路径在哪儿:
rpm -ql mysql-server-5.0.45-7.el5
阅读全文
结构体的定义:


typedef struct
{  
     char ip[30];    
     char usb[30];
}xiaoshou_cmd;



结构体的初始化:
    

xiaoshou_cmd *conf,tem;  
strcpy(tem.ip,"xiaoshou");    
printf("ip= %s\n",tem.ip);     strcpy(tem.usb,"xiaoshou");    
printf("ip= %s\n",tem.usb);
阅读全文
    守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待
    处理某些发生的事件。守护进程是一种很有用的进程。
    Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。
    同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。

  守护进程的编程本身并不复杂,复杂的是各种版本的Unix的实现机制不尽相同,
    造成不同 Unix环境下守护进程的编程规则并不一致。
    需要注意,照搬某些书上的规则(特别是BSD4.3和低版本的System V)到Linux会出现错误的。
    下面结合一些前辈的文档和自己的例子说说守护进程的编程。阅读全文
作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。

  在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要使用“./configure”,“make”,“make instal”就可以把程序安装到Linux系统中去了。这将特别适合想做开放源代码软件的程序开发人员,又或如果你只是自己写些小的Toy程序,那么这个文章对你也会有很大的帮助。

  一、Makefile介绍

  Makefile是用于自动编译和链接的,一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但是不是所有的文件都需要重新编译,Makefile中纪录有文件的信息,在make时会决定在链接的时候需要重新编译哪些文件。

  Makefile的宗旨就是:让编译器知道要编译一个文件需要依赖其他的哪些文件。当那些依赖文件有了改变,编译器会自动的发现最终的生成文件已经过时,而重新编译相应的模块。

  Makefile的基本结构不是很复杂,但当一个程序开发人员开始写Makefile时,经常会怀疑自己写的是否符合惯例,而且自己写的 Makefile经常和自己的开发环境相关联,当系统环境变量或路径发生了变化后,Makefile可能还要跟着修改。这样就造成了手工书写 Makefile的诸多问题,automake恰好能很好地帮助我们解决这些问题。

  使用automake,程序开发人员只需要写一些简单的含有预定义宏的文件,由autoconf根据一个宏文件生成configure,由 automake根据另一个宏文件生成Makefile.in,再使用configure依据Makefile.in来生成一个符合惯例的 Makefile。下面我们将详细介绍Makefile的automake生成方法。阅读全文
面试结束前,若能够提出漂亮的关键问题,说不定,对方会因此而录用你!
  在面试结束前,大多数的主考官都会丢问题给求职者,最常见的就是:你有没有什么问题或疑问,想要提出来的?无论求职者是否有提出问题,其实,这个问题背后的真正含意,通常是主考官用来测试你对这份工作有多大的企图心、决心和热情。


  因此,如果你害怕发问不妥当,或是不知道该从何问起,甚至回答没有问题时,都很可能会让主考官认为,你想要这份工作的企图心、决心还不够强。阅读全文
CDN和CName有啥关系,记录一般用在二级域名作为静态素材域名,一般把静态文件放到你某个二级域名下
然后将这个二级域名CNAME指向到CDN厂商提供的加速域名上
然后就可以完成加速了,CName, 其实就是一个解析, CDN加速服务就是把你们的网站在他们的服务器集群中做一个镜像, 而他们给你的Cname的地址就是一个他们服务器集群的地址, 相当于是他们的服务器会从你的主服务器(你自己的)上面提取相关的网站内容,然后做镜像到他们的集群中, 然后你通过绑定你的域名解析到他们的一个置顶Cname(IP)上完成浏览,每次你的客户浏览的时候其实是通过他们Cname的服务器然后按照地理位置指向一个最近的镜像服务器。 cname 是个指针性的记录,你的域名是个 alias ,没有真实的 ip 对应,是到指向的 cname 上去找 ip ,结果人家访问你的域名,等于就访问了 cname 域名,而 cname 的域名根据情况,从自己的缓存上返回结果,或者抓取你提供的真实服务器的 ip 上的页面,最后返回给客户。

所以,被代理的域名 www.youdomain.com ,你不能做解析,你要 cname 到 cdn 提供给你的域名上去,让人家统一决定是返回结果,还是抓你提供的某个 ip,就是常说的c记录,c记录和a记录一样,可以配置多个IP,这个IP可以是虚拟VIP,也可以是真实IP,多个就成,cdn判断哪个挂了或来源用户给最近的VIP(多个VIP,VIP是一个区域多个真实的或虚拟机真实的IP),也就就近原则提高缓存速度。
A记录

QUOTE:

A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的子域名。通俗来说A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在 DNS的A记录所对应的服务器

子域名

QUOTE:

子域名道理等同二级域名,不过比二级域名更加延伸,比如我们继续扩展该域名的主机名,设置主机名为 bbs.at,那么就可以建立一个三级域名:bbs.at.abc.com,当然也可以建立四级域名bbs.at.go.abc.com,五级域名 bbs.at.go.home.abc.com……,依次类推,可以建立无限级别的域名,我们统称这些域名为顶级域名abc.com的子域名。

CNAME别名指向记录阅读全文
1.TTL电平:

输出高电平>2.4V,输出低电平 <0.4V。
在室温下,一般输出高电平是3.5V,输出低电平是0.2V。
最小输入高电平和低电平:输入高电平>=2.0V,输入低电平 <=0.8V,噪声容限是0.4V。

2.CMOS电平:

1逻辑电平电压接近于电源电压,0逻辑电平接近于0V。而且具有很宽的噪声容。

3.rs232电平:

-5v~15v为逻辑电平1,+5~+15符为逻辑电平0.
什么是前端总线?不是超频的方法之一,也不是用来超频的。
我们知道,电脑有许多配件,配件不同,速度也就不同。在286、386和早期的486 电脑里,CPU的速度不是太高,和内存保持一样的速度。后来随着CPU速度的飞速提升,内存由于电气结构关系,无法象CPU那样提升很高的速度(就算现在内存达到400、533,但跟CPU的几个G的速度相比,根本就不是一个级别的),于是造成了内存和CPU之间出现了速度差异,这时就提出一个CPU的主频、倍频和外频的概念,外频顾名思义就是CPU外部的频率,也就是内存的频率,CPU以这个频率来与内存联系。CPU的主频就是CPU内部的实际运算速度,主频肯定是比外频高的,高一定的倍数,这个数就是倍频。举个例子,你从电脑垃圾堆里拣到一个被抛弃的INTEL 486 CPU,上面印着486 DX/2 66。这个486的CPU的主频是66MHZ,DX/2代表是2倍频的,于是算出CPU的外频是33MZ,也就是内存的工作频率,这同时也是前端总线 FSB的频率。因为CPU是通过前端总线来与内存发生联系的,所以内存的工作频率(或者说外频也行)就是前端总线的频率。刚才这个垃圾堆里的486 CPU,前端总线的频率就是33MZ。这样的前端总线结构一直延续到486之后的奔腾(俗话说的586)、奔腾2、奔腾3,例如一颗奔3 933MHZ的CPU,外频133,也就是说它的前端总线是133MHZ,内存工作频率也是133。阅读全文
一、RS-232-C

RS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(recommeded standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有有EIA�RS-232-C、EIA�RS-422-A、 EIA�RS-423A、EIA�RS-485。这里只介绍EIA�RS-232-C(简称232,RS232)。 例如,目前在IBM PC机上的COM1、COM2接口,就是RS-232C接口。阅读全文
预处理程序提供了条件编译的功能。 可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件。 这对于程序的移植和调试是很有用的。

条件编译有三种形式,下面分别介绍:
1. 第一种形式:
#ifdef 标识符
程序段1
#else
程序段2
#endif
       它的功能是,如果标识符已被 #define命令定义过则对程序段1进行编译;否则对程序段2进行编译。
       如果没有程序段2(它为空),本格式中的#else可以没有, 即可以写为:阅读全文
1.求下面函数的返回值(微软)

int func(x)
{
    int countx = 0;
    while(x)
    {
          countx ++;
          x = x&(x-1);
     }
    return countx;
}

假定x = 9999。 答案:8阅读全文
Embedded Software Design Engineer

1 读程序段,回答问题
int main(int argc,char *argv[])
{
int c=9,d=0;
c=c++%5;
d=c;
printf("d=%d\n",d);
return 0;
}
a) 写出程序输出
b) 在一个可移植的系统中这种表达式是否存在风险?why?阅读全文
◆假定在所有的程序中必须的头文件都已经被正确包含。

考虑如下的数据类型:

◆char为1个字节

◆int为4个字节

◆long int为4个字节

◆float为4个字节

◆double为个8字节

◆long double为8个字节

◆指针为4个字节阅读全文
五大内存分区

在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。

栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。

堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。

自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。

全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初始化的,在C++里面没有这个区分了,他们共同占用同一块内存区。

常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改(当然,你要通过非正当手段也可以修改,而且方法很多)

明确区分堆与栈阅读全文
分页: 248/326 第一页 上页 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 下页 最后页 [ 显示模式: 摘要 | 列表 ]