存档

2010年12月 的存档

【Ubuntu】开启ssh服务

2010年12月29日 没有评论

发现默认Ubuntu 10下没有开启ssh服务(拿putty连不上,但可以ping通,说明是ssh服务没起来)

处理方法很简单:

  1. 打开一个Terminal终端
  2. 运行su,输入管理员root的密码进行提权
  3. 运行apt-get install ssh,确认安装,等待完成
  4. 搞定,拿putty可以连上去了
分类: 软件技巧 标签: , 5,957次阅读

【Linux】FTP自动化上传的Shell脚本

2010年12月29日 3 条评论

新建脚本文件upload.sh,脚本内容如下:

#!/bin/sh
lftp 10.12.132.53 <<EOF
login user1 password1
cd subdir
put file1 file2 file3
exit
EOF

以后只需在shell中执行sh upload.sh就可以完成文件上传了。

另外再配合crontab设置计划任务可以实现定时上传文件。

分类: 软件技巧 标签: , , 7,738次阅读

【Sybase】You can’t run SELECT INTO in this database的解决办法

2010年12月27日 没有评论

在自建的数据库里执行select into语句的时候失败了,如下: 

1> select * into users2 from users
2> go
Msg 268, Level 16, State 2:
Line 1:
You can't run SELECT INTO in this database. Please check with the Database Owner.

解决办法是设置数据库的select into选项(需要切换到master数据库下进行设置),操作如下: 

阅读全文...

分类: 软件技巧 标签: 6,291次阅读

【C】编译出现incompatible implicit declaration of built-in function ‘round’警告的解决方法

2010年12月26日 没有评论

编译一段代码里面增加一个round函数,竟然编译的时候出现了下面的警告

warning: incompatible implicit declaration of built-in function ‘round’

确认头文件math.h也加上了,后来查了下,在编译选项里增加-std=c99就能解决了。

没细究是为什么,哪位知道原因的话烦请告诉一声。

分类: 程序开发 标签: 6,765次阅读

【Linux】启动过程与启动目录解析

2010年12月25日 没有评论
Linux启动过程

redhat的启动方式和执行次序是:

  1. 加载内核
  2. 执行init程序
  3. /etc/rc.d/rc.sysinit # 由init执行的第一个脚本
  4. /etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式
  5. /etc/rc.d/rc.local
  6. /sbin/mingetty # 等待用户登录

init在等待/etc/rc.d/rc执行完毕之后(因为在/etc/inittab中/etc/rc.d/rc的action是wait),将在指定的各个虚拟终端上运行/sbin/mingetty,等待用户的登录。

至此,Linux的启动结束。

Linux的引导过程

阅读全文...

分类: 软件技巧 标签: 4,845次阅读

【C/C++】static关键字的作用

2010年12月25日 没有评论

static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种在C/C++语言中使用, 第三种只在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准).

(1)局部静态变量

(2)外部静态变量/函数

(3)静态数据成员/成员函数

下面就这三种使用方式及注意事项分别说明

一、局部静态变量

在C/C++中, 局部变量按照存储形式可分为三种auto, static, register

与auto类型(普通)局部变量相比, static局部变量有三点不同

阅读全文...

分类: 程序开发 标签: , 6,631次阅读

volatile关键字的作用:防止变量被编译器优化

2010年12月25日 没有评论

volatile关键字是一种类型修饰符,用它声明的类型变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。 精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。

其中关键在于两个地方:     
 
1. 编译器的优化

在本次线程内, 当读取一个变量时,为提高存取速度,编译器优化时有时会先把变量读取到一个寄存器中;以后,再取变量值时,就直接从寄存器中取值;

当变量值在本线程里改变时,会同时把变量的新值copy到该寄存器中,以便保持一致

当变量在因别的线程等而改变了值,该寄存器的值不会相应改变,从而造成应用程序读取的值和实际的变量值不一致

当该寄存器在因别的线程等而改变了值,原变量的值不会改变,从而造成应用程序读取的值和实际的变量值不一致 

2. 在什么情况下会用到

阅读全文...

分类: 程序开发 标签: , , 7,363次阅读

【Linux】fg、bg让你的进程在前后台之间切换

2010年12月25日 没有评论

Linux下的fg和bg命令是进程的前后台调度命令,即将指定号码(非进程号)的命令进程放到前台或后台运行。比如一个需要长时间运行的命令,我们就希望把它放入后台,这样就不会阻塞当前的操作;而一些服务型的命令进程我们则希望能把它们长期运行于后台。

进程前后台操作用到以下命令或按键:

Ctrl+C

终止并退出前台命令的执行,回到SHELL

Ctrl+Z

暂停前台命令的执行,将该进程放入后台,回到SHELL

阅读全文...

分类: 软件技巧 标签: 15,372次阅读

PPM、PGM、PBM图像文件格式说明

2010年12月18日 2 条评论

PPM、PGM、PBM三种都是图像文件格式:

  • PPM->Portable PixMap 支持真彩色图形,可以读上面所有格式,输出PPM图形
  • PGM->Portable GreyMap 支持灰度图形,能够读PBM图形和PGM图形,输出PGM图形
  • PBM->Portable BitMap 支持单色图(1个像素位)

三种文件格式结构相同,都非常简单,没有压缩。由表头和图像数据两部分组成。表头数据各项之间用空格(空格键、制表键、回车键或换行键)隔开,表头由四部分组成:

① 文件描述子:指明文件的类型以及图像数据的存储方式;

② 图像宽度;

③ 图像高度;

④ 最大灰度值或颜色值.

阅读全文...

分类: 程序开发 标签: 7,381次阅读

【Linux】vim以16进制打开和编辑文件

2010年12月16日 没有评论

先用vim以二进制格式打开需要编辑或查看的文件,不采用-b参数有时会导致转换错误,详见分隔线后部分。

vim -b file-to-open.dat

然后用xxd把文件转换成十六进制格式

:%!xxd

转化后显示类似如下

0000000: 5036 0a35 3932 2033 3230 0a32 3535 0a20  P6.592 320.255.
0000010: 190e 2019 0e20 190e 2019 0e20 190e 2019  .. .. .. .. .. .
0000020: 0e20 190e 2019 0e1f 180c 1f18 0c1f 180c  . .. ...........
0000030: 1f18 0c1f 180c 1f18 0c1f 180c 1f18 0c27  ...............'
0000040: 1b0d 261a 0c24 1b0e 2319 0d22 180e 2017  ..&..$..#..".. .
0000050: 0c1f 180c 1e16 0b25 1d16 251d 1620 1a13  .......%..%.. ..

阅读全文...

分类: 软件技巧 标签: , 15,694次阅读

无觅相关文章插件,快速提升流量