分享

C语言学习笔记

 柠檬冰啡咖 2018-02-02
嵌入式开发
用c语言如何在数字前自动补0
摘要: 一: #include <stdio.h>int main(){ long a=3,b=4,c=15; printf("......."a,b,c);return 0;}现在我想要这个程序运行出来的结果是:03:04:15 二: printf("a=%06d\n", a); //输出6位十进制整数 阅读全文
posted @ 2017-12-02 14:25 丁培飞 阅读(27) | 评论 (0) 编辑
linux 开机自启脚本
摘要: 1.vi /home/dpf/mqtt.sh #!/bin/sh/home/dpf/Desktop/Udp_Single_Async_Mqtt_yuan/hwjc_udp_receive_mqtt & 2.系统脚本可以放置在/etc/rc.d/init.d 中并建立/etc/rc.d/rc?.d 链阅读全文
posted @ 2017-11-24 18:46 丁培飞 阅读(18) | 评论 (0) 编辑
centos6.4安装GCC
摘要: 1. 2.阅读全文
posted @ 2017-11-13 19:01 丁培飞 阅读(7) | 评论 (0) 编辑
整型数转字符串
摘要: int iValue;//整型数char sz[10];//字符串sprintf(sz, "%d", iValue);//这句需要头文件#include <stdio.h>/*或者*/itoa(iValue, sz, 10); //这句需要头文件#include <ctype.h>sprintf类似阅读全文
posted @ 2017-11-09 17:01 丁培飞 阅读(16) | 评论 (0) 编辑
字符串比较
摘要: if (0==strcmp(DATA_ID_SUB,"01")) { IM_facy_handle_request(message_request,data_len); } else { VOD_handler_request(message_request,data_len); } }阅读全文
posted @ 2017-11-07 18:14 丁培飞 阅读(4) | 评论 (0) 编辑
返回函数值实例化参数
摘要: .c文件; VOD_REQUEST VODrequest(void){ unsigned char* message_request="12,1234,192.168.9.98,55051"; int data_len=4; int i; printf("++++++++++++++++++++++阅读全文
posted @ 2017-11-04 19:53 丁培飞 阅读(12) | 评论 (0) 编辑
linux实现开机自启动脚本
摘要: Linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一、在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行;step2. 再在/etc/rc.local的末尾添加一行以绝对路阅读全文
posted @ 2017-11-04 14:31 丁培飞 阅读(29) | 评论 (0) 编辑
字符串转换为相应的整型数
摘要: #if 0/*字符串转换为相应的整型数*/int myatoi(const char s[]){ int i,n=0; for (i=0;s[i]>='0'&&s[i]<='9';i++) { n=10*n+(s[i]-'0'); /*(s[i]-'0')能够计算出s[i]中存储的字符所对应的数字值阅读全文
posted @ 2017-11-01 11:16 丁培飞 阅读(11) | 评论 (0) 编辑
memset函数用法
摘要: 数组: 指针: 1.char *data; 2.memset(&data,0,sizeof(data)); 整型: 1.int data; 2.memset(data, 0, sizeof(data));阅读全文
posted @ 2017-10-31 16:29 丁培飞 阅读(4) | 评论 (0) 编辑
指针字符串赋值给数组字符串
摘要: 定义指针字符串:char*v->VOD_REQUEST_ID=“123455” 分配指针字符串地址: char *VOD_SERVER_REQUEST_DATA=(char *)malloc(strlen(v->VOD_REQUEST_ID)+1) ; 复制 ,v->VOD_REQUEST_ID: 阅读全文
posted @ 2017-10-31 09:02 丁培飞 阅读(10) | 评论 (0) 编辑
以下是关于线性表链接存储(单链表)操作的18种算法
摘要: #include <stdio.h> #include <stdlib.h> #define NN 12 #define MM 20 typedef int elemType ; /***********************************************************阅读全文
posted @ 2017-10-30 20:49 丁培飞 阅读(45) | 评论 (0) 编辑
C语言单链表实现19个功能完全详解
摘要: * list.c//#include "stdafx.h"#include "stdio.h"#include <stdlib.h>#include "string.h"typedef int elemType ;/******************************************阅读全文
posted @ 2017-10-30 19:57 丁培飞 阅读(13) | 评论 (0) 编辑
C语言中如何计算时间差
摘要: #include <time.h> #include <stdio.h> int main() { time_t start ,end ; double cost; time(&start); sleep(1); time(&end); cost=difftime(end,start); print阅读全文
posted @ 2017-10-25 22:37 丁培飞 阅读(108) | 评论 (0) 编辑
C语言实现字符串IP与整数型IP的相互转换
摘要: [cpp] view plain copy print? #include <stdio.h> #include <stdlib.h> #include <string.h> #include <malloc.h> int main(int argc,char *argv[]) { const ch阅读全文
posted @ 2017-10-25 10:29 丁培飞 阅读(173) | 评论 (0) 编辑
inux跟踪线程的方法:LWP和strace命令
摘要: 摘要:在使用多线程程序时,有时会遇到程序功能异常的情况,而这种异常情况并不是每次都发生,很难模拟出来。这时就需要运用在程序运行时跟踪线程的手段,而linux系统的LWP和strace命令正是这种技术手段。本文对LWP和strace命令做了简明扼要的介绍,并通过一个实例来说明如何运用。总而言之,LWP阅读全文
posted @ 2017-10-24 17:27 丁培飞 阅读(5) | 评论 (0) 编辑
有名管道的非阻塞设置
摘要: #include<sys/types.h> #include<sys/stat.h> #include<errno.h> #include<string.h> #include<stdio.h> #include<unistd.h> #include<fcntl.h> int main (void)阅读全文
posted @ 2017-10-20 18:29 丁培飞 阅读(67) | 评论 (0) 编辑
Linux 技巧:让进程在后台可靠运行的几种方法
摘要: ,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。 nohup/setsid/& 场景: 阅读全文
posted @ 2017-10-16 12:58 丁培飞 阅读(22) | 评论 (0) 编辑
Linux C 一个简单的线程池程序设计
摘要: 实现功能:创建一个线程池,该线程池包含若干个线程,以及一个任务队列,当有新的任务出现时,如果任务队列不满,则把该任务加入到任务队列中去,并且向线程发送一个信号,调用某个线程为任务队列中的任务服务。如果线程池中的线程都在忙,那么任务队列中的任务则等待。本程序较为简单,把任务定义为了两个数相加,输出它们阅读全文
posted @ 2017-09-30 16:00 丁培飞 阅读(25) | 评论 (0) 编辑
mosquitto 参数配置
摘要: mosquitto 参数配置 1.retry_interval 当QoS为1或2的消息已经被发送后,mosquitto在一段时间内仍未接收到客户端的反馈消息,将重新发送消息。 默认为20秒 2.sys_interval 每隔一段时间将更新$SYS层级话题的状态,其中包含着proker的状态信息。 默阅读全文
posted @ 2017-09-26 17:13 丁培飞 阅读(15) | 评论 (0) 编辑
curses.h: No such file or directory
摘要: 嵌入式linux移植时,编译busybox或者内核时使用make menuconfig有时会遇到这个错误 Linux Error: ncurses.h: No such file or directory 这是因为缺少相应的依赖库 解决方法: CentOS :yum install ncurses-阅读全文
posted @ 2017-09-25 16:10 丁培飞 阅读(15) | 评论 (0) 编辑
C语言char*字符串数组和unsigned char[]数组的相互转换
摘要: #include <iostream> #include <string> using namespace std; void convertUnCharToStr(char* str, unsigned char* UnChar, int ucLen) { int i = 0; for(i = 0阅读全文
posted @ 2017-09-23 10:54 丁培飞 阅读(55) | 评论 (0) 编辑
传入的结构体指针强制转为实例化结构体*v
摘要: struct val *v = (struct val *)arg;//传入的结构体指针强制转为实例化结构体*v struct val{ int num1; int num2; }; void *text3(void *arg) { struct val *v = (struct val *)arg阅读全文
posted @ 2017-09-21 11:21 丁培飞 阅读(17) | 评论 (0) 编辑
【C】——如何用线程进行参数的传递
摘要: #include<pthread.h> 2 #include<stdio.h> 3 4 struct val{ 5 int num1; 6 int num2; 7 }; 8 9 //send a int to arg 10 void *text(void *arg) 11 { 12 int *p =阅读全文
posted @ 2017-09-21 11:15 丁培飞 阅读(32) | 评论 (0) 编辑
pthread_create用法
摘要: #include <pthread.h>int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr,void *(*start_rtn)(void), void *restrict arg); Ret阅读全文
posted @ 2017-09-20 14:36 丁培飞 阅读(5) | 评论 (0) 编辑
Linux centos 下 eclipse 打开文件时关闭
摘要: 原文地址:http://processors.wiki./index.php/Linux_Host_Support#cairo-misc.c:380:_cairo_operator_bounded_by_source:_Assertion_.60NOT_REACHED.27_failed阅读全文
posted @ 2017-09-19 16:29 丁培飞 阅读(10) | 评论 (0) 编辑
C语言中一个字符数组里面的所有元素变成一个字符串
摘要: #include <string.h> int main() // 这里为了方便直接用main函数 { char array[] = { 'h', 'e', 'l', 'l', 'o' }; /* 需要注意的是,这里没有终结符,故需要知道数组的 */ /* 大小(数组的大小是编译时常量)*/ cha阅读全文
posted @ 2017-09-19 09:09 丁培飞 阅读(62) | 评论 (0) 编辑
vc2015编译paho.mqtt.c-1.1.0
摘要: vc2015打开“\paho.mqtt.c-1.1.0\Windows Build\Paho C MQTT APIs.sln” 将文件“\paho.mqtt.c-1.1.0\src\VersionInfo.h.in”另存为“\paho.mqtt.c-1.1.0\src\VersionInfo.h” 阅读全文
posted @ 2017-09-18 15:39 丁培飞 阅读(13) | 评论 (0) 编辑
ubuntu MySQL采用apt-get install安装目录
摘要: 一). ubuntu下mysql安装布局: /usr/bin 客户端程序和mysql_install_db /var/lib/mysql 数据库和日志文件 /var/run/mysqld 服务器 /etc/mysql 配置文件my.cnf /usr/share/mysql 字符集,基准程序和错误消息阅读全文
posted @ 2017-09-13 00:30 丁培飞 阅读(140) | 评论 (0) 编辑
Linux平台上用C语言实现与MySQL数据库的连接
摘要: 安装编译工具 这将安装gcc/g++/gdb/make 等基本编程工具: sudo apt-get install build-essential 安装编译工具 这将安装gcc/g++/gdb/make 等基本编程工具: sudo apt-get install build-essential 输入阅读全文
posted @ 2017-09-12 22:31 丁培飞 阅读(2) | 评论 (0) 编辑
C语言从零开始(十四)-字符串处理
摘要: 在软件开发过程中,字符串的操作相当频繁。在标准C语言库中提供了很多字符串处理的函数。今天我们来介绍一些常用的字符串处理函数。1. 字符串输入输出1.1 printf() scanf()之前我们学习过使用“%c”进行字符的输入输出。字符串的输入输出大体相同,唯一的区别是采用“%s”。请看下面这段代码:阅读全文
posted @ 2017-09-11 16:20 丁培飞 阅读(2) | 评论 (0) 编辑
MQTT服务器搭建--Mosquitto用户名密码配置
摘要: Mosquitto用户认证配置 前言:基于Mosquitto服务器已经搭建成功,大部分都是采用默认的是允许匿名用户登录模式,正式上线的系统需要进行用户认证。 1.用户参数说明 Mosquitto服务器的配置文件为/etc/mosquitto/mosquitto.conf,关于用户认证的方式和读取的配阅读全文
posted @ 2017-09-08 10:58 丁培飞 阅读(15) | 评论 (0) 编辑
linux下c语言获取当前时间
摘要: 和时间有关的函数定义在头文件”time.h”中 常用函数: time_t time(time_t *t); 函数说明:此函数会返回从公元 1970 年1 月1 日的UTC 时间从0 时0 分0 秒算起到现在所经过的秒数。如果t 并非空指针的话,此函数也会将返回值存到t 指针所指的内存。 char *阅读全文
posted @ 2017-09-06 11:13 丁培飞 阅读(2) | 评论 (0) 编辑
Linux下用C获取当前时间
摘要: Linux下用C获取当前时间,具体如下: 代码(可以把clock_gettime换成time(NULL)) ? 1 2 3 4 5 6 7 8 9 10 void getNowTime() { timespec time; clock_gettime(CLOCK_REALTIME, &time); 阅读全文
posted @ 2017-09-06 11:12 丁培飞 阅读(8) | 评论 (0) 编辑
Linux 技巧:让进程在后台可靠运行的几种方法
摘要: 我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。 nohup/s阅读全文
posted @ 2017-06-27 15:46 丁培飞 阅读(16) | 评论 (0) 编辑
Linux 下 c 语言 聊天软件
摘要: 这是我学C语言写的第一个软件,是一个完整的聊天软件,里面包括客户端,和服务器端,可以互现聊天,共享文件,有聊天室等,是一个有TCP和UDP协议的聊天软件,测试过很多次在CENTOS和UBUNTU下都通过,写的简单,但五脏俱全,全部贴出来不保留。运行不了,发信给我,还有个使用指南,我是法语写的,有时间阅读全文
posted @ 2017-06-21 11:42 丁培飞 阅读(11) | 评论 (0) 编辑
codeblocks编译pthread多线程问题
摘要: 默认的编译选项是没有pthread的,所以要自己添加: 参考:http://hi.baidu.com/u_soa/item/9d6cc40b7e9d76eb3499024d 错误: undefined reference to 'pthread_create' 解决: Project -> Buil阅读全文
posted @ 2017-06-21 11:04 丁培飞 阅读(26) | 评论 (0) 编辑
4字节单精度浮点型十六进制转浮点型十进制数据源码
摘要: // // windows GPS // // #include <stdio.h>int main(){ long int n; //Tc3.0ºÃÏñÊÇ16λ±àÒëÆ÷ printf("ÊäÈë8λ16œøÖÆÊý£º"); scanf("%x",&n); 阅读全文
posted @ 2017-06-16 16:31 丁培飞 阅读(13) | 评论 (0) 编辑
GLIBC_2.14报错
摘要: 【linux】提示"libc.so.6: version `GLIBC_2.14' not found",系统的glibc版本太低 0.以下在系统CentOS 6.3 x86_64上操作 1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原阅读全文
posted @ 2017-06-15 10:13 丁培飞 阅读(83) | 评论 (0) 编辑
C语言中打印返回值
摘要: demo: return :返回值 int mosquitto_username_pw_set(struct mosquitto *mosq, const char *username, const char *password) { if(!mosq) return MOSQ_ERR_INVAL;阅读全文
posted @ 2017-06-08 16:43 丁培飞 阅读(36) | 评论 (0) 编辑
MQTT_DEMO
摘要: 1 /* 2 Copyright (c) 2009-2012 Roger Light <roger@atchoo.org> 3 All rights reserved. 4 5 Redistribution and use in source and binary forms, with or wi阅读全文
posted @ 2017-06-08 16:33 丁培飞 阅读(115) | 评论 (0) 编辑
MQTT-C-UDP_PUB
摘要: /** ****************************************************************************** * @file apdu.c * @author ding * @version V1.0.0 * @date 2016-10-25 阅读全文
posted @ 2017-06-08 16:31 丁培飞 阅读(13) | 评论 (0) 编辑
MQTT-C-PUB
摘要: /* Name : mqtest.c Author : Version : Copyright : Your copyright notice Description : Hello World in C, Ansi-style */#include <stdio.h>#include <stdli阅读全文
posted @ 2017-06-08 16:30 丁培飞 阅读(2) | 评论 (0) 编辑
结构体指针用法
摘要: 指针用法: 定一个结构体: struct mosquitto { mosq_sock_t sock; #ifndef WITH_BROKER mosq_sock_t sockpairR, sockpairW; #endif enum _mosquitto_protocol protocol; cha阅读全文
posted @ 2017-06-08 16:16 丁培飞 阅读(14) | 评论 (0) 编辑
mqtt学习笔记
摘要: mosquito monitor idea check process mosquitto with pidfile /var/run/mosquitto.pid start = "/etc/init.d/mosquitto start" stop = "/etc/init.d/mosquitto 阅读全文
posted @ 2017-04-27 11:27 丁培飞 阅读(464) | 评论 (0) 编辑
Linux上从Java程序中调用C函数
摘要: 原则上来说,“100%纯Java”的解决方法是最好的,但有些情况下必须使用本地方法。特别是在以下三种情况: 需要访问Java平台无法访问的系统特性和设备; 通过基准测试,发现Java代码比其他语言编写的等价代码慢得多; 其他语言编写的代码已经经过大量测试和调试,并且知道如何将其导出到所有的目标平台上阅读全文
posted @ 2017-04-22 21:30 丁培飞 阅读(153) | 评论 (0) 编辑
用Eclipse平台进行C/C++开发
摘要: 我们将概述如何在 C/C++ 开发项目中使用 Eclipse 平台。尽管 Eclipse 主要是一个 Java 开发环境,但其体系结构确保了对其它编程语言的支持。在本文中,您将学习如何使用 C/C++ 开发工具箱(C/C++ Development Toolkit,CDT),它是可用于 Eclips阅读全文
posted @ 2017-04-15 17:48 丁培飞 阅读(12) | 评论 (0) 编辑
基于麒麟座开发板2.0的MQTT实现例程
摘要: 链接 >https://sanwen8.cn/p/649shZ1.html OneNET现已全面适配标准MQTT协议,相信这一功能的增加会**便于开发者进行设备的接入。 OneNET提供了MQTT的C语言版本的SDK供大家使用,接下来我们将利用该SDK,将MQTT协议移植到麒麟座开发板上,希望这边文阅读全文
posted @ 2017-03-26 17:43 丁培飞 阅读(719) | 评论 (1) 编辑
mqtt 服务器与客户端通讯
摘要: mqtt 服务器与客户端通讯。 服务器端 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 4阅读全文
posted @ 2017-03-26 17:35 丁培飞 阅读(74) | 评论 (0) 编辑
MQTT--单片机实现即时通信
摘要: 链接 >http://blog.csdn.net/zhou6343178/article/details/51182623 1、准备条件: a)硬件:ATMEGA644PA 8位单片机 ENC28J60 b)下载MQTT C语言的包: C/C++ MQTT Embedded clients http阅读全文
posted @ 2017-03-26 17:27 丁培飞 阅读(127) | 评论 (0) 编辑
source insight 如何建工程--以及快捷方式查找调用函数方法
摘要: 在source insight的view菜单中点出relation window,然后右键点relation window,选relation window properties,然后把view relation里所有的下拉选项全部选成references,这时候relation window里显示阅读全文
posted @ 2017-01-12 15:03 丁培飞 阅读(3821) | 评论 (0) 编辑
字符串截取函数-c语言
摘要: 1 #include<stdio.h> 2 #include<stdlib.h> 3 4 char* substring(char* ch,int pos,int length) 5 { 6 char* pch=ch; 7 //定义一个字符指针,指向传递进来的ch地址。 8 char* subch=阅读全文
posted @ 2017-01-06 18:31 丁培飞 阅读(37) | 评论 (0) 编辑
strcpy(),strcat()的用法
摘要: strcpy(): 纯文本复制 #include <stdio.h> #include <string.h> int main () { char str[80]; strcpy (str,"these "); strcat (str,"strings "); strcat (str,"are ")阅读全文
posted @ 2017-01-05 10:22 丁培飞 阅读(12) | 评论 (0) 编辑
如何将红色区域数据调用解密函数直接打印到输出控制台(例如:crt控制台)
摘要: int main(int argc, char *argv[]) { unsigned char data[PACKET_MAX_LEN]; int data_len = 0; int socket_fd = -1; //char test_flag = 0; struct sockaddr_in 阅读全文
posted @ 2016-12-28 11:47 丁培飞 阅读(48) | 评论 (0) 编辑
解决Linux c语言运行时候“段错误 (核心已转储)”问题-采用gdb 解决
摘要: 编译没有警告,没有错误,运行就打印 段错误 (核心已转储) 网上找了一下,都是各种问题,都推荐用gdb 调试解决,咱也来趁机学习gdb一下。 gcc+gdb)输入命令行 运行 sudo apt-get install build-essential build-essential包含gcc和gdb等阅读全文
posted @ 2016-12-27 09:54 丁培飞 阅读(42) | 评论 (0) 编辑
udp-->socket通信原理
摘要: UDP数据通讯原理 UDP数据通讯分服务端(软件)和客户端端: 服务端(软件)(服务器)先运行,服务端,不需要事先知道客户端IP和port 客户端(软件)(客户端机器)后运行,一定是客户端先给服务端发包,客户端一定先知道服务端的IP和port UDP通信实现 1. 头文件 #include <sys阅读全文
posted @ 2016-12-26 17:59 丁培飞 阅读(23) | 评论 (0) 编辑
udp通信的原理---makefile文件
摘要: 由于UDP通信不需要事先建立连接,因此不需要TCP中的connect函数。 服务器端的步骤如下: 1. socket: 建立一个socket 2. bind: 将这个socket绑定在某个端口上(AF_INET) 3. recvfrom: 如果没有客户端发起请求,则会阻塞在这个函数里 4. clos阅读全文
posted @ 2016-12-26 17:54 丁培飞 阅读(10) | 评论 (0) 编辑
c语言知识点
摘要: 1.在c语言中,函数,声明,调用的类型务必是一致的, 2.主机id:指ip地址最后一个字节,例如,203.86.61.106, >106指主机id, 3,端口号:6789,换成16进制1A85 ,拆分 到两个字节中,指 >1A 85;char类型:1字节 >8位,阅读全文
posted @ 2016-12-22 18:24 丁培飞 阅读(21) | 评论 (0) 编辑
linux系统man命令用法和安装方法
摘要: Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。 Linux的man手册共有以下几个章节: 代號 代表內容 1 使用者在shell中可以操作的指令或可执行档 2 系統核心可呼叫的函数与工具等 3 一些常用的函数(function)与函数库(libra阅读全文
posted @ 2016-12-21 17:02 丁培飞 阅读(15) | 评论 (0) 编辑
<linux系统c语言生成.so文件,生成64位可执行文件,在64位系统中运行32位的可执行文件>
摘要: 1.linux 系统c语言生成.o文件, >gcc -m64 -c -fPIC test.c -o test.o2.linux 系统c语言生成.so文件, >gcc -shared -fPIC libthitudp.so -o test.o -m643.查看生成的文件是否为64位执行文件 >命令:f阅读全文
posted @ 2016-12-21 14:15 丁培飞 阅读(41) | 评论 (0) 编辑
Linux下gcc编译生成动态链接库*.so文件并调用它(注:执行Test程序后无需用export 命令指定.so库文件路径:方法在文中下方;)
摘要: 动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一点帮助。1、动态库的编译下面通过一个例子来介绍如何生成一个动态库。这里有一个头文件:so_test.阅读全文
posted @ 2016-12-20 14:36 丁培飞 阅读(709) | 评论 (0) 编辑
C编译: 动态连接库 (.so文件)
摘要: C程序中,用于实现算法和数据结构 (比如栈和相关的操作)。在同一个程序中,还有用于测试的main()函数,结构体定义,函数原型,typedef等等。 这样的做法非常不“环保”。算法的实际运用和算法的实现混在一起。如果我想要重复使用之前的源程序,必须进行许多改动,并且重新编译。最好的解决方案是实现模块阅读全文
posted @ 2016-12-20 14:11 丁培飞 阅读(23) | 评论 (0) 编辑
linux系统socket通信编程2
摘要: 一、概述 TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议。 TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(stream socket)的一种。 UDP:用户数据报协议。UDP是阅读全文
posted @ 2016-12-14 00:26 丁培飞 阅读(47) | 评论 (0) 编辑
linux系统socket通信编程1
摘要: Linux下的Socket编程大体上包括Tcp Socket、Udp Socket即Raw Socket这三种,其中TCP和UDP方式的Socket编程用于编写应用层的socket程序,是我们用得比较多的,而Raw Socket则用得相对较少,不在本文介绍范围之列。 TCP Socket 基于TCP阅读全文
posted @ 2016-12-14 00:22 丁培飞 阅读(26) | 评论 (0) 编辑
#pragam预处理分析
摘要: #pragma是编译器指示字,用域指示编译器完成一些特定动作, #pragma所定义的很多指示字是编译器和操作系统特有的 #pragma在不同的编译器间是不可移植的 预处理器将忽略它不认识的#pragma指令 两个不同的编译器可能以两种不同的方式解释同一条#pragma指令 用法;#pragma p阅读全文
posted @ 2016-12-06 09:13 丁培飞 阅读(10) | 评论 (0) 编辑
#error和line
摘要: #error message 注:message不需要用双引号包围, #error 编译指示字用于自定义程序特有的编译错误消息类似的, #warning用于生成编译警告,但不会停止编译。 在linux终端定义 gcc -Dadroid40 test.c 在终端定义常量方法,后执行a.out,结果正常阅读全文
posted @ 2016-12-05 22:56 丁培飞 阅读(54) | 评论 (0) 编辑
linux下getsockopt和setsockopt详解及测试
摘要: linux下getsockopt和setsockopt详解及测试 NAME 名字 getsockopt, setsockopt - get and set options on sockets 获取或者设置套接字的选项 SYNOPSIS 函数原型 参数: sock:将要被设置或者获取选项的套接字。 阅读全文
posted @ 2016-12-01 23:52 丁培飞 阅读(539) | 评论 (0) 编辑
Linux下getsockopt/setsockopt 函数说明
摘要: 【 getsockopt/setsockopt系统调用 功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的阅读全文
posted @ 2016-12-01 23:47 丁培飞 阅读(1067) | 评论 (0) 编辑
C语言的f(open)函数(文件操作/读写)
摘要: 头文件:#include <stdio.h> fopen()是一个常用的函数,用来以指定的方式打开文件,其原型为: FILE * fopen(const char * path, const char * mode); 【参数】path为包含了路径的文件名,mode为文件打开方式。 mode有以下几阅读全文
posted @ 2016-12-01 23:42 丁培飞 阅读(88) | 评论 (0) 编辑
socket 中文man页面函数
摘要: Linux 套接字的用户接口. 这个 BSD 兼容套接字是介于用户进程与内核网络协议栈之间的统一接口, 各协议模块属于不同的 协议族 ,如 PF_INET, PF_IPX, PF_PACKET 和 套接字类型 ,如 字节流(SOCK_STREAM) 或 数据报(SOCK_DGRAM). 关于协议族和阅读全文
posted @ 2016-12-01 23:40 丁培飞 阅读(135) | 评论 (0) 编辑
指针和数组(上)
摘要: 1)指针基础: 既然程序中的变量只是一段存储空间的别名,那么是不是必须通过这个别名才能使用这段存储空间, int main() { int i=5; int *p=&i; printf("%d,%08x\n",i,p); *p=10; printf("%d,%08x\n",i,p); return 阅读全文
posted @ 2016-11-30 00:30 丁培飞 阅读(43) | 评论 (0) 编辑
海外机车通信软件开发
该文被密码保护。
posted @ 2016-11-28 13:29 丁培飞 阅读(2) | 评论 (0) 编辑
char和unsigned char--数据类型区别
摘要: 在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别 首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, uns阅读全文
posted @ 2016-11-28 12:36 丁培飞 阅读(343) | 评论 (0) 编辑
自己的总结
摘要: 1 五.指针数组和数组指针 2 1.指针数组 char *p[3];每个元素都是指针 3 int main(void) 4 { 5 char *p1 = "sadqwdq"; 6 char *p2 = "wqdcd"; 7 char *p3 = "32131"; 8 9 char *p[3] = {阅读全文
posted @ 2016-11-28 12:14 丁培飞 阅读(36) | 评论 (0) 编辑
warning C4305:“初始化”:从“double”到“float”截断
摘要: 编译VS项目时出现警告: warning C4305:“初始化”:从“double”到“float”截断(warning C4305: 'initializing' : truncation from 'const double' to 'float')。 原因: 在 C 语言中,如果不指定数据类型阅读全文
posted @ 2016-11-28 12:13 丁培飞 阅读(52) | 评论 (0) 编辑
指针数组和数组指针区别
摘要: 1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <string.h> 5 6 //指针数组的传参;相当于普通的一维数组。 7 void print_fun011(char 阅读全文
posted @ 2016-11-28 10:39 丁培飞 阅读(934) | 评论 (0) 编辑
c语言学习笔记---预编译
摘要: 专题三: 1) 预编译 处理所有的注释,以空格代替, 将所有的#define删除,并且展开所有的宏定义, 处理条件编译指令#if,#ifdef,#elif,#else,#endif 处理#include,展开呗包含的文件, 保留编译器需要使用的#pragma指令, 预处理指令:gcc-E file.阅读全文
posted @ 2016-11-27 23:52 丁培飞 阅读(50) | 评论 (0) 编辑
c语言学习笔记---符号
摘要: 专题2.符号的技巧: 1) 注释符与转义符 vC语言中的接续符(\)是指示编译器行为的利器: 接续符的使用:编译器会将反斜杠剔除,嗯在反斜杠后面的字符自动解到前面的一行。 在接续单词时,反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格, 接续符适合在定义宏代码块时使用, 2)单引号与双引号 3)阅读全文
posted @ 2016-11-27 12:25 丁培飞 阅读(18) | 评论 (0) 编辑
vim 编辑基础使用-----linux编程
摘要: Linux系统编程: VIM编辑器 | VIM Introduce VIM/VI基本命令 | VIM Learning 分类 命令 一、打开文件、保存、关闭文件 vim filename //打开filename文件 :w //保存文件 :w atool.org //保存至atool.org文件 :阅读全文
posted @ 2016-11-27 11:38 丁培飞 阅读(30) | 评论 (0) 编辑

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多