随笔分类 - c语言
摘要:好久没有写博客,今天将前段时间做的Onvif协议在Android上的实现分享给大家。首先,我们先来了解一下什么是Onvif协议:ONVIF 协议是由Open Network Video Interface Forum (开放型网络视频接口论坛)制定的开放性行业标准。这一接口标准的目的是确保不同厂商生...
阅读全文
摘要:Abstractepoll是Linux内核为处理大批量句柄而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。简介:epoll是Linux下多路复用IO接口select/poll的增强版本,它能...
阅读全文
摘要:void showInfo1(char *buf){ char gps_str[1024];// ="$GPGGA,031105.000,4003.9196,N,11620.5765,E,1,05,3.4,109.0,M,-6.4,M,,0000*4A\r\n"; sprintf(gps_str,"%s",buf); nmeaINFO info; // nmea协议解析结果结构体 nmeaPARSER parser; // nmea协议解析载体 nmeaPOS dpos; nmea_zero...
阅读全文
摘要:When building on Ubuntu 12.x the build fails with the following error… gcc samples/generate/main.o -lm -Llib -lnmea -o build/samples_generate lib/libnmea.a(generate.o): In function `nmea_gsv_npack': generate.c:(.text+0x700): undefined reference to `ceil' collect2: ld returned 1 exit status m
阅读全文
摘要:0.nmealib简介 nmealib是一个基于C语言的用于nmea协议的开源库。虽然nmea体积小巧,但是却具备了不少功能。 分析NMEA语句并把结果保存在合适的C语言结构体中。 除了解析NMEA语句之外,还可以产生NMEA语句。 支持多种NMEA语句,包括GPGGA, GPGSA, GPGSV, GPRMC, GPVTG。 解析算法层次严谨。 附加地理学相关功能,可支持导航等数据工作。 更多介绍请参考以下链接 http://nmea.sourceforge.net/#downloads 1.目录介绍 nmealib的目...
阅读全文
摘要:#include "math.h" #include "stdio.h" double casm_rr ; unsigned int casm_t1; unsigned int casm_t2; double casm_x1; double casm_y1; double casm_x2; double casm_y2; double casm_f; double yj_sin2(double x) { double tt ; double ss; int ff ; double s2; int cc; ff=0; if (x3....
阅读全文
摘要:Mark下吧,这是好东西啊。 http://blog.csdn.net/coolypf/article/details/8686588整理成C++代码:#includeconst double pi = 3.14159265358979324;//// Krasovsky 1940//// a = 6378245.0, 1/f = 298.3// b = a * (1 - f)// ee = (a^2 - b^2) / a^2;const double a = 6378245.0;const double ee = 0.00669342162296594323; static bool out
阅读全文
摘要:一 前言:异常处理,对于做面向对象开发的开发者来说是再熟悉不过了,例如在C#中有try{ ...}catch( Exception e){...}finally{.....}在C++中,我们常常会使用try{}...catch(){}块来进行异常处理。说了那么多,那么到底什么是异常处理呢?异常处理(又称为错误处理)功能提供了处理程序运行时出现的任何意外或异常情况的方法。异常处理一般有两种模型,一种是"终止模型",一种是"恢复模型""终止模型":在这种模型中,将假设错误非常关键,将以致于程序无法返回到异常发生的地方继续执行.一旦异常被抛
阅读全文
摘要:如何看待编译警告 当编译程序发现程序中某个地方有疑问,可能有问题时就会给出一个警告信息。警告信息可能意味着程序中隐含的大错误,也可能确实没有问题。对于警告的正确处理方式应该是:尽可能地消除之。对于编译程序给出的每个警告都应该仔细分析,看看是否真的有问题。只有那些确实无问题的警告才能放下不管。说明:由于编译的警告各种各样,根本不可以一一罗列出来,下面只是列举出比较典型的一些警告,还有一些警告,大家只要根据字面意思,就可以很快的查找出来,并解决之。类型1:显示:warning: implicit declaration of function `Example()'。警告原因:(1)在你的
阅读全文
摘要:2012-09-11 14:26struct ifreq 获取IP 和mac和修改mac配置ip地址和mask地址:ifconfig eth0 192.168.50.22 netmask 255.255.255.0 up dns服务器有关的文件:/etc/resolv.conf修改网卡的mac地址的步骤:方法1:1.关闭网卡设备 ifconfig eth0 down2.修改网卡mac地址: ifconfig eth0 hw ether 00:0c:29:2b:45:9f3.重启网卡设备: ifconfig eth0 up以上方法一修改后linux重启后MAC又恢复为原来的,为了下次启动时修改后
阅读全文
摘要:方式一: 1 int GetNetStat( ) 2 { 3 char buffer[BUFSIZ]; 4 FILE *read_fp; 5 int chars_read; 6 int ret; 7 try 8 { 9 memset( buffer, 0, BUFSIZ );10 read_fp = popen("ifconfig eth0 | grep RUNNING", "r");11 if ( read_fp != NULL ) 12 {13 ...
阅读全文
摘要:毕业设计需要用到xml文件来组织和存放数据,对于Linux环境下,有libxml2可供使用。经过一段时间查询文档和网站,基本掌握创建xml文档和解析xml的操作,简单做一下记录。创建xml例子如下: 1 #include 2 #include 3 #include 4 5 int main(int argc, char **argv) 6 { 7 xmlDocPtr doc = NULL; 8 xmlNodePtr root_node = NULL, node = NULL, node1 = NULL; 9 10 doc = xmlNew...
阅读全文
摘要:安装:#sudo apt-get install libxml2#sudo apt-get install libxml2-devsudo apt-get install libxml2-dev libxslt-dev 安装成功后:所有的头文件在/usr/include/libxml2/这个文件目录...
阅读全文
摘要:在安裝 CGI 程式時如果設定錯誤,便會看到 "500 Internal Server Error" 訊息,一般常見的錯誤可以用以下方法解決:1. CGI 程式的權限需要設定為 711 或 755。2. 程式的最開端有一行類似 #!/usr/bin/perl,其中 #! 是必需要的,然後確定 /usr/bin/perl 是正確的路徑,另外這行前不可以有空格或空行。3. 如果程式本身會讀寫其他檔案,要檢查存取檔案的絕對路徑或相對路徑是否正確,以及檔案是否有權限存取。4. 根據 HTTP 栛定,在輸出內容前要先輸出 HTTP Headers,否則便會遇上便會錯誤,在 Apach
阅读全文
摘要:我只学习过c语言,没有学习过prel,网上很多教程都是针对prel的,很少有针对c的。自己在Ubuntu下鼓捣了一下午,也总算是用c成功编写了一个helloworld的cgi,算是cgi入门的第一步。 一、安装及配置apache服务器 安装apache2服务器 #sudo apt-get ins...
阅读全文