2014年3月5日

mingw libgcc_s_sjlj-1.dll is missing

摘要: 习惯了在linux环境下工作,编译wingdows平台程序采用mingw工具。编译完,运行exe程序,弹出错误信息: libgcc_s_sjlj-1.dll is missing 百度了一下,原来是编译的时候没有加上-static-libgcc -static-libstdc++这两个参数。 阅读全文

posted @ 2014-03-05 10:41 袁军峰 阅读(1457) 评论(0) 推荐(1) 编辑

2014年2月24日

C语言函数申明关键字inline

摘要: 内联inline是给编译器的优化提示,如果一个函数被编译成inline的话,那么就会把函数里面的代码直接插入到调用这个函数的地方,而不是用调用函数的形式。如果函数体代码很短的话,这样会比较有效率,因为调用函数的过程也是需要消耗资源的。但是你inline只是给编译器的提示,编译器会根据实际情况自己决定到底要不要进行内联,如果函数过大、有函数指针指向这个函数或者有递归的情况下编译器都不会进行内联。 阅读全文

posted @ 2014-02-24 11:36 袁军峰 阅读(219) 评论(0) 推荐(0) 编辑

2014年1月16日

关于编译错误--提领指向不完全类型的指针

摘要: 前段时间调试c语言程序时,对一结构体的成员变量进行访问时,编译无法通过,编译器错误提示为“提领指向不完全类型的指针”。 因程序调用了一些动态链接库,里面使用了不些在动态库中定义的结构,为了了解程序的运行过程,想知道结构体中的成员变量的值,加上些调试语句,如printf什么的,竟然无法通过编译了。 一开始有点无解,可以通过结构体自身定义的函数进行访问,为什么直接操作的结构体时就出现编译错误,翻了翻以前的c语言书才知道,对于结构体来说虽然所有的变量默认都是公有的,但是,如果想访问里面的成员变量,必须有包含对其结构的定义,否则出现如上的错误,c编译器将无法识别结构里面的变量,一般想操作结构体里的成员 阅读全文

posted @ 2014-01-16 14:37 袁军峰 阅读(2916) 评论(0) 推荐(0) 编辑

2014年1月6日

linux下创建用户[转]

摘要: linux下创建用户(一)Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。实现用户账号的管理,要完成的工作主要有如下几个方面:· 用户账号的添加、删除与修改。· 用户口令的管理。· 用户组的管理。一、Linux系 阅读全文

posted @ 2014-01-06 09:40 袁军峰 阅读(248) 评论(0) 推荐(0) 编辑

2013年12月25日

Linux查看CPU和内存使用情况[转]

摘要: 在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要。在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次)。 操作实例: 在命令行中输入 “top” 即可启动 top top 的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。 第一部分 -- 最上部的 系统信息栏 : 第一行(top): “00:11:04”为系统当... 阅读全文

posted @ 2013-12-25 10:37 袁军峰 阅读(458) 评论(0) 推荐(0) 编辑

Intel MKL 多线程设置

摘要: 对于多核程序,多线程对于程序的性能至关重要。 下面,我们将对Intel MKL 有关多线程方面的设置做一些介绍:我们提到MKL 支持多线程,它包括的两个概念:1>MKL 是线程安全的: MKL在设计时,就保证它是一个线程安全的库函数。 也就是说,无论是在单个线程中调用MKL函数,还是在多个线程中同时使用Intel MKL 函数,都能够确保函数有正确的计算结果。2>MKL函数内部实现了多线程优化。许多MKL的函数,已经包括内部多线程的实现。用户调这些函数时,只需设置多线程的数目,MKL 函数的内部,就可以同时进行多个线程的并行计算。 Intel MKL 还提供了一个单线程版本的库函数 阅读全文

posted @ 2013-12-25 10:24 袁军峰 阅读(4948) 评论(0) 推荐(0) 编辑

2013年10月27日

Linux开发常见问题:GCC:链接器输入文件未使用,因为链接尚未完成

摘要: 问:我在Linux中运行一个make文件去编译C语言代码,然后得到了如下的错误信息:gcc -Wall -fPIC -DSOLARIS -DXP_UNIX -DMCC_HTTPD -D_REENTRANT-I/opt/profile/OraAlert_test/code/include -I/usr/netscape/server4/plugins/include -I../../pwutils -I../../database/src-I../../access/src -I/data/share/capscan/include -o getEnv.o -c ../src/gcc: ../s 阅读全文

posted @ 2013-10-27 18:30 袁军峰 阅读(4219) 评论(0) 推荐(0) 编辑

2013年10月23日

Python类型转换+序列操作+基本概念辨析速查手册

摘要: 第一部分是Python语言中基础中的基础,根据网上资料,合并如下: 1、类型转换 int(x [,base]) 将x转换为一个整数 long(x [,base]) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real) 创建一个复数 str(x) 将对象x转换为字符串 repr(x) 将对象x转换为表达式字符串 eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s) 将序列s转换为一个元组 list(s) 将序列s转换为一个列表 chr(x) 将一... 阅读全文

posted @ 2013-10-23 13:57 袁军峰 阅读(310) 评论(0) 推荐(0) 编辑

2013年8月24日

svn: 处于冲突状态

摘要: svn: 提交失败(细节如下):svn: 提交终止: “/home/usa/svn/aispeech/air201102/branches/opt-vite/wvite” 处于冲突状态删除文件夹wvite出错了,cleanup 也不奏效。没办法,最后使出了绝招:删除 .svn下所有有关wvite的记录,居然有用了。 阅读全文

posted @ 2013-08-24 10:33 袁军峰 阅读(4442) 评论(0) 推荐(0) 编辑

2013年8月10日

Linux 关于动态链接库以及静态链接库的一些概念

摘要: 库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。例如:libhello.so libhello.a为了在同一系统中使用不同版本的库,可以在库文件名后加上版本号为后缀,例如: libhello.so.1.0,由于程序连接默认以.so为文件后缀名。所以为了使用这些库,通常使用建立符号连接的方式。ln -s libhello.so.1.0 libhello.so.1ln -s libhello.so.1 libhello.so使用库当 要使用静态的程序库时,连接器会找出程序所需的函数,然后将它们拷贝到执行文件,由于这种拷贝是完整的,所以一旦连接成功,静态程序库也就不再需要了。然 而,对 阅读全文

posted @ 2013-08-10 15:15 袁军峰 阅读(393) 评论(0) 推荐(0) 编辑

导航