C++中extern“C语言”含义深层探索



C++中extern“C语言”含义深层探索,C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。

从标准头文件说起

某企业曾经给出如下的一道面试题:

面试题
  为什么标准头文件都有类似以下的结构? 

#ifndef __INCvxW[......]

Read more

QT中Makefile文件的修改实例源码



QT中Makefile文件的修改实例源码,qt项目中想添加编译参数,修改***.pro文件,添加:
QMAKE_CFLAGS = `pkg-config –cflags –libs dbus-glib-1`
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
即可添加makefile的编译参数。`pkg-config –cflags –libs dbus-glib-1`是本次的编译参数

如果添加多个:
QMAKE_CFLAGS += `pkg-config –cflags –libs dbus-glib-1`\
`pkg-config –cflags[......]

Read more

dbus 编译问题解决方法

dbus 编译问题解决方法,编译的时候加上参数:`pkg-config –cflags –libs dbus-glib-1`

常见的错误
错误 1:
$ gcc test.c
test.c:8:23: 错误: dbus/dbus.h : No such file or director y
……
$
错误提示, dbus 库的头文件位置不正确 ( 如果已经安装了 dbus 的话 )
$ sudo updatedb
$ sudo locate dbus.h ( 查看 dbus.h 的所在位置 )
/usr/local/include/dbus-1.0/dbus[......]

Read more

Linux系统登录后自动执行应用程序

Linux系统登录后自动执行应用程序,要说明的是在登录系统后如何自动运行应该程序,如windows下自动行动QQ等。本实例的内容是:登录系统后,自动运行EVA应用程序。
其实这个实例相当的简单,只要了解系统登录后,它需要执行哪些脚本文件。那系统登录后运行了哪几个脚本呢?
答案是:root目录下面的.bash_profile和bashrc等脚本文件,而bash_profile是第一个执行的。所以,只要在此脚本下添加以下语句即可实现:
[root@localhost ~]# vim ~/.bash_profile
添加内容为:
export DISPLAY=:0 &&ev[......]

Read more

linux下进程自启动方法介绍

linux下进程自启动方法介绍,

用自启动apache为例;
自启动脚本:
/usr/local/apache2/bin;
./apachectl start
文件位于/etc/rc.d/init.d下,名为apached, 注意要可执行.
#chmod +x /etc/rc.d/init.d/apached //设置文件的属性为可执行
#ln -s /etc/rc.d/init.d/apached /etc/rc3.d/S90apache //建立软连接,快捷方式
#ln -s /etc/rc.d/init.d/apached /etc/rc0.d/K20apache在R[......]

Read more

com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败怎么解决

com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败怎么解决。

java.net.ConnectException: Connection timed out: connect
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at[......]

Read more

Failed to initialize end point associated with ProtocolHandle错误

Failed to initialize end point associated with ProtocolHandle错误,Tomcat 是apache tomcat-7.0.27最新版本,配置什么的都没错,JDK在DOS下输入java -version 显示的是 “1.0.7”貌似也是最新版本,JDK配置应该是没错了。eclipse 是eclipse-jee-helios-win32 。但是tomcat总就是启动不起来啊!!!启动以后自己就把我在DOS下面启动的,完事儿以后自己就把窗口关闭了。我去看那个tomcat安装目录下面的logs里面记录,分几段有几个严重的错误提示信息:

严[......]

Read more

解决Eclipse,MyEclipse出现An error has occurred,See error log for&方法实例

解决Eclipse,MyEclipse出现An error has occurred,See error log for&错误的方法实例,现把找到的解决方法整理提供给大家,如下:

方法1. 在”开始”–>”运行”—->打入”cmd”进入命令提示行后,再进入eclipse的安装目录,
然后输入eclipse -clean即可(我用的这个方法 成功了)
方法2. 删除configuration文件夹里除config.ini以外的所有文件,重启Eclipse

解决myeclipse则变为:
在命令行下执行 Myeclipse.exe -clean 对缓存进[......]

Read more

QT拦截关闭窗口事件实例源码代码

QT拦截关闭窗口事件实例源码代码。

QDialog类下有一个虚函数
void QDialog::closeEvent ( QCloseEvent * e ) [virtual protected]

通过实现closeEvent函数,就可以以对关闭窗口消息进行拦截,比如程序还没有完成工作时,可以弹出警告窗口,即使用户确认退出操作

在头文件中,需要加入#include :

[cpp] view plaincopyprint?

#ifndef TEST_H
#define TEST_H

#include
#include

class ClientTes[......]

Read more

Linux下配置Eclipse+PyDev 建立Python开发环境实例教程

Linux下配置Eclipse+PyDev 建立Python开发环境实例教程。

一 关于Python、Eclipse、PyDev

Python zh_wiki

Eclipse zh_wiki

PyDev en_wiki

二 准备:Python

1.注意

绝大部分开箱即用的Linux发行版都已预装Python 2.x版本,除非是从核心部件开始构建的系统,并不需要手动安装。由于Python 3.x暂时不支持神器Django,并且不如Python 2.x流行,不推荐使用之。

2.可以在终端中用以下代码来测试你的Linux系统是否安装了Python:[......]

Read more