代码改变世界

随笔档案-2012年01月

mysql root 远程登陆问题的解决

2012-01-31 17:23 by 马哈鱼, 3664 阅读, 收藏,
摘要: 今天使用mysql workbench 连接vmware上的mysql时,一直无法连接,查阅了网上的相关资料之后,收集了一些解决方法:1、授权法:mysql的root用户默认情况下只能在本地登陆,不能远程,若远程连接,需要授权: mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; mysql>FLUSH PRIVILEGES; ('root'@'%',指定root用户可以在任意一台计算机上连接数据库服务器,若要指定特定的计算机,可将%替换 阅读全文

Linux进程环境

2012-01-04 17:58 by 马哈鱼, 510 阅读, 收藏,
摘要: 一 main函数当内核使用一个exec函数执行C程序时,在调用main函数之前先调用一个特殊的启动例程,可执行程序将此例程指定为程序的起始地址。启动例程从内核获取命令行参数和环境变量,然后为调用main函数做好准备。二 进程终止 进程终止的方式有8种,前5种为正常终止,后三种为异常终止: 1 从main函数返回; 2 调用exit函数; 3 调用_exit或_Exit; 4 最后一个线程从启动例程返回; 5 最后一个线程调用pthread_exit; 6 调用abort函数; 7 接到一个信号并终止; 8 最后一个线程对取消请求做出响应。 (1)exit函数 #include <stdl 阅读全文

C++重载操作符和转换

2012-01-04 17:56 by 马哈鱼, 574 阅读, 收藏,
摘要: 重载操作符的定义重载操作符是具有特殊名称的函数:保留字 operator 后接需定义的操作符号。重载操作符具有返回类型和形参表。重载操作符的形参数目(包括成员函数的隐式 this 指针)与操作符的操作数数目相同,函数调用操作符可以接受任意数目的操作数。 重载操作符必须具有至少一个类类型或枚举类型的操作数。这条规则强制重载操作符不能重新定义用于内置类型对象的操作符的含义。重载操作符并不保证操作数的求值顺序,尤其是,不会保证内置逻辑 AND、逻辑 OR和逗号操作符的操作数求值。 操作符为非成员函数时,通常将它们设置为所操作的类的友元函数。 重载操作符的设计 不要重载具有内置含义的操作符。重载逗号. 阅读全文

C++面向对象编程的若干概念

2012-01-03 14:50 by 马哈鱼, 711 阅读, 收藏,
摘要: 面向对象基于三个基本概念:抽象,继承和动态绑定。在C++中,用类实现数据抽象;派生类继承基类成员;动态绑定在运行时决定是使用基类的成员还是派生类的成员。继承能够定义相似但不同的类,动态绑定能够写出忽略这些不同的程序。动态绑定 动态绑定使我们可以在程序中使用类继承层次中的任一对象,无需关心对象的类型,无需区分函数是在基类中定义还是在派生类中定义。C++中,通过引用或指针调用虚函数时发生动态绑定,引用或虚函数既可以指向基类对象,也可以指向派生类对象,这是动态绑定的关键,被调用的函数是由引用或指针指向的实际对象类型决定的。 虚函数 基类通常应该将派生类需要重定义的函数定义为虚函数。除了构造函数之外. 阅读全文

C++模板和泛型编程

2012-01-03 14:27 by 马哈鱼, 776 阅读, 收藏,
摘要: 模板是泛型编程的基础。泛型编程就是以独立于任何类型的形式编写代码,使用泛型时,需要具体程序实例提供使用的类型或值。和面向对象一样,泛型编程也要依赖于某种形式的多态。在泛型编程中,我们所编写的类和函数能够多态地用于跨越编译时不相关的类型。一个类或一个函数可以用来操纵多种类型的对象。模板定义 非类型模板形参:模板形参不必都是类型,在调用函数时非类型形参将用值代替,值的类型在模板形参表中指定。对模板的非类型形参而言,求值结果相同的表达式将认为是等价的。 编写模板时,代码不可能针对特定类型,但模板代码总是要对将使用的类型做一些假设。产生的程序是否合法,取决于函数中使用的操作以及所用类型支持的操作。编写 阅读全文

Linux下的系统数据文件和信息

2012-01-03 14:15 by 马哈鱼, 643 阅读, 收藏,
摘要: 一 口令文件口令文件保存了系统用户的信息,这些信息的各个字段都包含在<pwd.h>中定义的passwd结构中。口令文件存放在/etc/passwd中,是一个ASCII文件,关于文件内容有几点要注意: 1 有一个用户名为root的登陆项,用户ID为0(超级用户); 2 加密口令字段包含了一个占位字符,在早期的UNIX系统版本中,该字段存放加密口令,现在将加密口令存放在另一个地方(阴影口令文件/etc/shadow); 3 不推荐加密口令字段为空; 4 shell字段为空,则取系统默认值/bin/sh,若为/dev/null,则阻止该用户登陆系统,也可以使用/bin/false或/bi 阅读全文