今天将之前在win下编好的读取BMP图像功能移植到UNIX下. 碰到的第一个问题是,Linux下的BMP文件头的结构体需要自己重新定义一遍. 第二个问题是,需要搞清楚Linux是32位的还是64位的.因为在定义BMP文件头结构体的时候会定义long型的变量.而在64位系统中long型占8个字节,在32位系统中占4个字节.因此这就会导致文件读取的时候,头信息错位.我的解决办法是将BMP文件头结构体中的long型都换为int型.因为int型在32和64位系统中都是4个字节的. MAC, Window…
开始使用linux开发环境,在配置idea 下tomcat 启动时报错,提示错误为unable to ping server at localhost:1099. 解决办法: 修改/etc/hosts 文件 添加如下信息: 127.0.0.1  localhost   [计算机名] 如 127.0.0.1  localhost  abc…
2016年12月13日18:34:32 -------------------------------- 最近一段时间遇到一些润乾报表的应用在linux系统下面乱码的问题,最后检查后都发现是客户的linux系统默认编码设置的不正确造成的,这种原因造成乱码的现象一般都是程序里面写死了的中文字符能正常展现,但是从数据库中取出来的或者从程序中读出来的中文字符就会出现乱码,下面就介绍一下由于linux系统编码设置不正确造成润乾报表应用乱码问题的解决办法. 第一步:检查linux的系统编码. 检查linu…
linux下老版本的Mysql修改数据库编码的方法是 修改my.cnf vi /etc/my.cnf 在[client]下添加 default-character-set=utf8 在[mysqld]下添加 default-character-set=utf8 在新的版本中如果这样修改的话,会造成无法启动的错误,结果方法是 在[mysqld]下把default-character-set=utf8换成 character-set-server=utf8 就可以了 重启mysql可以使用 sudo…
使用Qt5.9.3+vs2017环境,编译项目生成Debug目录,运行其中的exe文件,出现以下错误(qt creator调试状态下或出安装包后是可以运行的): 经过查阅资料,发现是我重新配置Qt开发环境后忘记配置环境变量.当我们用Qt Creator直接运行时,不报错是因为Creator自己去找对应的dll,但直接运行debuge目录下的exe时,其只会在当前exe运行目录以及window环境变量目录中去找dll.当找不到时程序就会提示无法找到xxx.dll. 操作步骤如下: 1.双击编辑系统…
习惯了在Linux下面使用VLC播放视频和音乐, 但是 VLC 的 linux 版本并不支持在root下面运行. 终端运行vlc命令报错,错误信息如下 root@kbdancer:~# vlc VLC is not supposed to be run as root. Sorry. If you need to use real-time priorities and/or privileged TCP ports you can use vlc-wrapper (make sure it i…
Java代码在转换为UTF-8编码后,Eclipse编译运行没有问题,但是用Maven编译时,抛出非法字符65278错误. 原因在于,转换后文件头部带有BOM信息,而Maven不支持,删掉文件头的BOM信息即可. 可以通过以下命令,在命令行中批量删除文件中BOM信息: perl -pi.bak -w -e 's/^\xEF\xBB\xBF' *.java 然后,删除.bak后缀的备份文件: rm *.java.bak 现在可以查看文件中是否,还带有BOM信息,可以通过以下命令查询: grep -…
新安装linux系统,网卡不能自动激活去获取ip,每次都需要手工执行以下命令 ifup eth0 后续通过将ONBOOT=yes这句就能开机启动自动激活,就可以解决问题 vim /etc/sysconfig/network-scripts/ifcfg-eth0…
问题:在开发测试时发现断开与服务器端口后再次连接时拒绝连接. 分析:服务器上查看端口占用情况,假设端口为8888. netstat -anp |grep 8888 发现端口8888端口显示被占用(ip为本机ip确定是上次连接)且状态为ESTABLISHED,然而实际上连接已经断开,但是服务端没有断开连接,查看TCP的keepalive配置. sysctl -a |grep keepalive 发现为默认的配置   net.ipv4.tcp_keepalive_time = 7200   net.…
问题:在开发测试时发现断开与服务器端口后再次连接时拒绝连接. 分析:服务器上查看端口占用情况,假设端口为8888. netstat -anp |grep 8888 发现端口8888端口显示被占用(ip为本机ip确定是上次连接)且状态为ESTABLISHED,然而实际上连接已经断开,但是服务端没有断开连接,查看TCP的keepalive配置. sysctl -a |grep keepalive 发现为默认的配置   net.ipv4.tcp_keepalive_time = 7200   net.…