自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (4)
  • 收藏
  • 关注

原创 python 简单的tcp连接

服务器端:#coding=utf-8from socket import *from time import ctimeHOST = '' PORT = 21567BUFSIZ = 1024ADDR=(HOST,PORT)s = socket(AF_INET, SOCK_STREAM)s.bind(ADDR)s.listen(5)while True: ...

2018-05-14 17:40:57 3490

原创 C语言操作MySql

c语言操作Mysql数据库,主要就是为了实现对数据库的增、删、改、查等操作,操作之前,得先连接数据库啊,而连接数据库主要有两种方法。一、使用mysql本身提供的API,在mysql的安装目录中可可以看到大量的头文件、lib文件、dll文件,这说明mysql原生就支持了c语言,操作起来相当简单。二、使用win32 api(这里只探讨windows平台),主要是ODBC。  ODBC API 接口是(O

2018-01-05 18:55:31 321

原创 Linux--open函数使用详解

头文件: #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>定义函数: int open(const char * path, int aflag, .../* mode_t mode */); int open(const char * path, int aflag, .../* mode_t

2017-10-26 21:35:32 3316

原创 判断二维坐标系中任意一个点是否在三角形内

给定平面上一点p(x0,y0),判断该点是否在三角形ABC中,三角形顶点坐标分别为A(xa,xb),B(xb,yb),C(xc,yc)。可以使用面积法来判断,方法如下:其中S(A,B,C)表示三角形ABC的面积。 1、 若abs( S(A,B,C) ) = abs( S(P,B,C) ) + abs( S(A,P,C) ) + abs( S(A,B,P) ) ,则P在三角形ABC的内部或边

2017-10-23 19:51:03 2850 1

原创 快速排序算法

这些形象的小图片给我们最直观的印象排序算法显神威方法其实很简单:分别从初始序列“6 1 2 7 9 3 4 5 10 8”两端开始“探测”。先从右往左找一个小于6的数,再从左往右找一个大于6的数,然后交换他们。这里可以用两个变量i和j,分别指向序列最左边和最右边。我们为这两个变量起个好听的名字“哨兵i”和“哨兵j”。刚开始的时候让哨兵i指向序列的最左边(即i=1),指向数字6。让哨兵j

2017-10-18 19:59:30 335

原创 嵌入式不同文件系统的特点

在嵌入式领域,FLASH是一种常用的存储介质,由于其特殊的硬件结构,所以普通的文件系统如ext2,ext3等都不适合在其上使用,于是就出现了专门针对FLASH的文件系统,比较常用的有jffs2,yaffs2,logfs,ubifs。那么对于这几个文件系统,如何选择一个针对自己的硬件最合适的呢?他们各自的特点是什么?性能优劣如何? 下面一个PDF为我找到的一篇专门针对这几个文件系统做的性能分

2017-10-09 18:41:39 797

原创 Nand Flash和Nor Flash的区别

Flash编程原理都是只能将1写为0,而不能将0写成1.所以在Flash编程之前,必须将对应的块擦除,而擦除的过程就是将所有位都写为1的过程,块内的所有字节变为0xFF.因此可以说,编程是将相应位写0的过程,而擦除是将相应位写1的过程,两者的执行过程完全相反.(1)闪存芯片读写的基本单位不同        应用程序对NorFlash芯片操作以“字”为基本单位.为了方便对大容量NorFl

2017-10-09 17:02:37 217

原创 linux学习-进程创建(fork,wait,waitpid)

1.pid_t fork(); (1)当一个进程调用了fork 以后,系统会创建一个子进程.这个子进程和父进程不同的地方只有他的进程ID 和父进程ID,其他的都是一样.就象符进程克隆(clone)自己一样. (2)为了区分父进程和子进程,我们必须跟踪fork 的返回值. 当fork 掉用失败的时候(内存不足或者是用户的最大进程数已到)fork 返回-1,否则fork 的返回值有重要的作用.对于父

2017-09-28 21:53:28 402

原创 printf实现原理

在C/C++中,对函数参数的扫描是从后向前的。C/C++的函数参数是通过压入堆栈的方式来给函数传参数的(堆栈是一种先进后出的数据结构),最先压入的参数最后出来,在计算机的内存中,数据有2块,一块是堆,一块是栈(函数参数及局部变量在这里),而栈是从内存的高地址向低地址生长的,控制生长的就是堆栈指针了,最先压入的参数是在最上面,就是说在所有参数的最后面,最后压入的参数在最下面,结构上看起来是第一个,所以

2017-09-27 21:29:38 382

原创 tcp三次握手,四次挥手

TCP传输协议TCP传输协议能提供客户和服务器的连接。TCP向另一端发送数据时,他要求对方发送一个确认信号,如果没有收到确认信号,TCP则等待更长时间或重传数据。TCP通过给发送数据的每一个字节都关联一个序列号进行排序,因此接受方收到TCP数据后,会将数据重新排列,如果 发现接收到的数据时重复的,则丢弃。TCP提供流控制。tcp总是告诉对方他能接收多少数据,从而保证对方发送的数据不会溢出。

2017-09-27 20:35:23 173

原创 如何学习嵌入式软件

什么是嵌入式? 嵌入式分为广义和狭义两种。广义的嵌入式就是片上系统(system on a chip),包括单片机、PSOC、NIOS、Microblaze等。而狭义的嵌入式就是ARM9、cortex A8等特定的跑操作系统的芯片。这里主要介绍狭义嵌入式的学习路线。 还是主流的方法,先学会使用它,再深入研究底层。 常用的操作系统有linux、WI

2017-09-26 12:19:29 1061

原创 gdb调试多线程

**gdb使用:** gdb是非常强大的调试工具,在文本模式下使用。使用方法可以参考陈皓的两篇文章 gdb常用命令在下表列出:命令 描述 backtrace(或bt)—— 查看各级函数调用及参数 finish —— 连续运行到当前函数返回为止,然后停下来等待命令 frame(或f)

2017-09-26 12:04:47 252

原创 解决两个浮点数是否相等

整数的相等比较可以直接使用==来判断,但是浮点数的比较不能简单的用==来比较。那怎么对浮点数是否相等进行判断呢?– 利用差值的绝对值的精度来判断。具体就是:f1和f2是两个浮点数,precision是我们自己设置的精度,比如1e-6。则可以用 fabs(f1-f2)<=precision 来判断f1和f2是否相等。如果要求更高的精度,则把precision定得更小就行了 这个方法还存在问题:首先

2017-09-26 08:46:34 741

转载 《Linux程序设计》 -> 《Linux高级程序设计》 -> 《Unix环境高级编程》

这是csdn linux版主写的: 《Linux程序设计》->《Linux高级程序设计》-《Unix环境高级编程》 可以说这个顺序代表了一般Linux程序猿的学习道路,《Linux程序设计》内容全面,易于入手,适用于新手详细了解Linux下编程,《Linux高级程序设计》则相当于在前一本的基础上进行了高度抽象和概括,介绍了Linux下工具链,可移植性,内核学习,图形编程等等方面,可以作为

2017-09-25 19:22:43 647

原创 剑指offer-重建二叉树

题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题思路: 这道题首先要自己用笔在纸上能建立出来。 就用题目举例,前序第一个是1那根节点肯定是1,然后看中序遍历,4 7 2在1的左边,那4 7 2就

2017-09-22 20:16:16 165

原创 C语言各类型所占字节数

各类型所占字节

2017-09-18 21:47:47 765

原创 牛客网-DNA最长片段

牛牛从生物科研工作者那里获得一段字符串数据s,牛牛需要帮助科研工作者从中找出最长的DNA序列。DNA序列指的是序列中只包括’A’,’T’,’C’,’G’。牛牛觉得这个问题太简单了,就把问题交给你来解决。 例如: s = “ABCBOATER”中包含最长的DNA片段是”AT”,所以最长的长度是2。 输入描述: 输入包括一个字符串s,字符串长度length(1 ≤ length ≤ 50),字符串中

2017-09-14 10:31:06 566

原创 C中 snprintf()函数的作用

函数原型:int snprintf(char* dest_str,size_t size,const char* format,...);所需头文件:#include<stdio.h>函数功能:先将可变参数 “…” 按照format的格式格式化为字符串,然后再将其拷贝至dest_str中。注意事项:如果格式化后的字符串长度小于size,则将字符串全部拷贝至dest_str中,并在字符串结尾处加上‘\

2017-09-08 15:52:34 18702 5

原创 S_ISDIR(stat.sb_mode)函数功能

一般在之前都会先调用函数stat( FileName, &fp),意味着将FileName这个文件的信息保存到了地址fp中。此时fp.st_mode就是文件FileName的模式,所以S_ISDIR(fp.st_mode)的函数功能是判断fp所指向文件(也就是FileName)是否为目录(dir)类型。

2017-09-08 09:41:34 4368 1

转载 使用 getopt() 进行命令行处理

引言 在早期的 UNIX® 中,其命令行环境(当时的唯一用户界面)包含着数十种小的文本处理工具。这些工具非常小,通常可很好地完成一项工作。这些工具通过较长的命令管道链接在一起,前面的程序将其输出传递给下一个程序以作为输入,整个过程由各种命令行选项和参数加以控制。 正是 UNIX 的这方面的特征使其成为了极为强大的处理基于本文的数据的环境,而这也是其在公司环境中的最初用途之一。在命令管道的一端输入

2017-08-31 17:28:32 207

原创 Linux的socket编程

网络中进程之间如何通信进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如UNIX BSD有:管道(pipe)、命名管道(named pipe)软中断信号(signal)UNIX system V有:消息(message)、共享存储区(shared memory)和信号量(semaphor

2017-08-30 16:35:41 200

原创 牛客网-剑指offer-从头到尾打印链表

输入 – 链表的表头 输出 – 要打印的“新链表”的表头描述:对于这种顺序颠倒的问题,一般会想到栈,先进后出。———-方法一 : 通过借助容器vector和栈stack共同完成 解决这个问题肯定要遍历链表。遍历的顺序是从头到尾的顺序,可输出的顺序却是从尾到头。也就是说第一个遍历到的结点最后一个输出,而最后一个遍历到得结点第一个输出。这就是典型的“后进先出”,可以用栈实现这种顺序。每

2017-08-18 10:20:12 325

转载 C语言 数组行列数获取

两种方法 1. 在定义数组的时候已经定义好数组的行数和列数。 2. 动态获取。 对于type array[A][B];形式的二维数组,可以通过计算sizeof获取行列数。 sizeof(array[0][0])为一个元素占用的空间, sizeof(array[0])为一行元素占用的空间, sizeof(array)为整个数组占用的空间, 于是: 行数 = sizeof(array

2017-08-17 11:10:47 5747

原创 牛客网-剑指offer-二维数组查找

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 target – 待查找数字 array – 数组———-Python方法# -*- coding:utf-8 -*- class Solution: # array 二维列表 def Find(

2017-08-17 10:01:46 245

原创 牛客网-剑指offer-替换空格

class Solution { public: void replaceSpace(char *str,int length) { int SpaceNum = 0; int OrgStrLen, NewStrLen; int i, len1, len2; if (str == NULL || length < 0) return ;

2017-08-17 09:50:42 230

unix网络编程第2版

是一部UNIX网络编程的经典之作!书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户/服务器程序的各种设计方法也作了完整的探讨,最后还深入分析了流这种设备驱动机制。

2017-09-26

reportlab.win32-py2.7

可用

2017-06-19

mingw-get-setup.exe

已使用

2017-06-19

reportlab-2.6.win32-py2.7.exe

已证win7 32位可用

2017-06-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除