ZhangPY的专栏

不骄不躁,不屈不挠;严于律己,宽以待人

排序:
默认
按更新时间
按访问量

[Python开发]细究Python struct 模块

struct — Interpret bytes as packed binary data,将字节与二进制文件相互转化的工具Python struct 模块。更多见:iii.run 关于格式字符串 在Python手册中,给出了C语言中常用类型与Python类型对应的格式符: 格式符 ...

2018-09-15 17:01:30

阅读数:67

评论数:0

[Python开发]Python中struct.pack()和struct.unpack()用法详细说明

python中的struct主要是用来处理C结构数据的,读入时先转换为Python的字符串类型,然后再转换为Python的结构化类型,比如元组(tuple)啥的~。一般输入的渠道来源于文件或者网络的二进制流。   1.struct.pack()和struct.unpack() 在转化过程...

2018-09-15 16:54:44

阅读数:66

评论数:0

[Python开发] ctypes+struct实现类c的结构化数据串行处理

1. 用C/C++实现的结构化数据处理 在涉及到比较底层的通信协议开发过程中, 往往需要开发语言能够有效的表达和处理所定义的通信协议的数据结构. 在这方面是C/C++语言是具有天然优势的: 通过struct, union, 和bit-fields, C/C++能够以一种最有效率也最自然的方式处理...

2018-09-15 16:27:47

阅读数:63

评论数:0

【C/C++开发】C++ 可配置的类工厂

C++ 可配置的类工厂   项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性。传统的工厂实现如下: 1 class Widget 2 { 3 public: 4 virtual int Init() 5 ...

2018-08-25 15:47:30

阅读数:91

评论数:0

【VS开发】Visual Studio 2015 无法解析的外部的符号 __vsnwprintf_s

IDE:Visual Studio 2015 操作系统:win 10   问题: 编译的时候可能会遇到 ERROR LNK2019:无法解析的外部的符号 __vsnwprintf_s,或者是_sscanf,_sscanf_s等等一系列形如这样的函数   疑问: 这些函数明明就是系统自...

2018-08-16 20:27:48

阅读数:96

评论数:0

[ARM-Linux开发]深入理解 sudo 与 su 之间的区别

在早前的一篇文章中,我们深入讨论了 sudo 命令的相关内容。同时,在该文章的末尾有提到相关的命令 su的部分内容。本文,我们将详细讨论关于 su 命令与 sudo 命令之间的区别。在开始之前有必要说明一下,文中所涉及到的示例教程都已经在 Ubuntu 14.04 LTS 上测试通过。Linux ...

2018-07-10 11:25:30

阅读数:1488

评论数:1

【C/C++开发】函数使用结构体、结构体指针作为返回值分析

函数使用结构体、结构体指针作为返回值分析32位机,gcc编译器使用结构体作为返回值分析反汇编代码可知,当被调用的子函数返回值为结构体的时候,调用函数将分配一段空间用于存放返回的结构体(使用一个结构体变量接受返回值),并将这段空间的地址作为调用时的参数压栈。子程序不负责对要返回的结构体分配空间。最后...

2018-07-04 10:11:36

阅读数:1592

评论数:0

【C/C++开发】函数指针与回调函数

C++很多类库都喜欢用回调函数,MFC中的定时器,消息机制,hook机制等待,包括现在在研究的cocos2d-x中也有很多的回调函数。1.回调函数什么是回调函数呢?回调函数其实就是一个通过函数指针调用的函数!假如你把A函数的指针当作参数传给B函数,然后在B函数中通过A函数传进来的这个指针调用A函数...

2018-07-03 19:25:30

阅读数:1562

评论数:0

【VS开发】/FORCE(强制文件输出)

/FORCE:[MULTIPLE|UNRESOLVED] 备注即使引用了符号但未定义或多次定义符号,/FORCE 选项也通知链接器创建有效的 .exe 文件或 DLL。/FORCE 选项可以带一个可选参数:使用 /FORCE:MULTIPLE 可创建输出文件,而不管 LINK 是否找到了符号...

2018-06-27 14:28:11

阅读数:1690

评论数:0

【C/C++开发】强制链接静态库所有符号(包括未被使用的)

C++程序在链接一个静态库时,如果该静态库里的某些方法没有任何地方调用到,最终这些没有被调用到的方法或变量将会被丢弃掉,不会被链接到目标程序中。这样做大大减小生成二进制文件的体积。但是,某些时候,即使静态库里的某些方法没有任何地方使用到,我们也希望将这些没有使用到的代码编译进最终的二进制文件中。为...

2018-06-27 14:21:15

阅读数:1631

评论数:0

【C/C++开发】C++ 析构函数以及 delete 和delete[]的整理

转自:http://hi.baidu.com/bystander1983/item/bf0b5c12b077cfec9913d651delete和delete[] 的区别:C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的...

2018-06-27 14:18:44

阅读数:1568

评论数:0

【VS开发】VS编译时提示"已经在 LIBCMT.lib(new.obj) 中定义uafxcw.lib"解决办法

 错误 1 error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMT.lib(new.obj) 中定义 uafxcw.lib setup问题解决:在项...

2018-06-27 09:50:31

阅读数:1671

评论数:0

【C/C++开发】调试printf, fprintf

标准C只支持可变参数的函数,意味着函数的参数是不固定的,例如printf()函数的原型为:int printf( const char *format [, argument]... );而在GNU C中,宏也可以接受可变数目的参数,例如:#define pr_debug(fmt,arg...) ...

2018-06-26 09:24:16

阅读数:1452

评论数:0

【C/C++开发】类对象作为返回值时析构的情况说明

class Person { public: string name; public: Person() { name = "ttf"; } ~Person(){ cout &lt...

2018-06-25 16:28:47

阅读数:1408

评论数:0

【C/C++开发】C++文件流关于seekg失效的问题

关于seekg失效的问题当file.eof()=1的时候seekg就不好用了,当file.eof()=0的时候seekg是好用的。也就是说当一个文件读到尾部以后,不能再用seekg来移动或者定位了。通过建立该文件新的对象能解决这个问题。如果只是输出的话可以用streambuf的rdbuf#incl...

2018-06-22 16:57:01

阅读数:1549

评论数:0

【机器学习】机器学习分类器模型评价指标

机器学习分类器模型评价指标分类器评价指标主要有:1,Accuracy2,Precision 3,Recall 4,F1 score 5,ROC 曲线6,AUC7,PR 曲线混淆矩阵混淆矩阵是监督学习中的一种可视化工具,主要用于比较分类结果和实例的真实信息。矩阵中的每一行代表实例的预测类别,每一列代...

2018-06-14 17:13:42

阅读数:1515

评论数:0

【机器学习】在分类中如何处理训练集中不平衡问题

原文地址:一只鸟的天空,http://blog.csdn.net/heyongluoyao8/article/details/49408131在分类中如何处理训练集中不平衡问题  在很多机器学习任务中,训练集中可能会存在某个或某些类别下的样本数远大于另一些类别下的样本数目。即类别不平衡,为了使得学...

2018-06-14 17:07:16

阅读数:1718

评论数:0

【DSP开发】TI SYS/BIOS的 创建工程实例

SYS/BIOS是一个可扩展的实时内核(或者说是操作系统),其提供了许多模块化的APIs(应用程序接口),支持抢占式多线程,硬件抽象,实时分析和配置工具,其设计目的是为了最大限度地减少对内存和CPU的要求。其拥有很多实时嵌入式操作系统的功能,如任务的调度,任务间的同步和通信,内存管理,实时时钟管理...

2018-06-14 16:59:42

阅读数:1750

评论数:0

【ARM-Linux开发】linux下代码调试

1. 使用printf调试#ifdef DEBUGPrintf(“valriable x has value = %d\n”, x)#endif然后在编译选项中加入-DDEBUG 更复杂的调试应用如:#define BASIC_DEBUG 1#define EXTRA_DEBUG 2#define...

2018-05-23 18:51:35

阅读数:1875

评论数:0

【ARM-Linux开发】通过GDB快速定位“段错误”的位置

有些时候我们在一段 C/C++ 代码的时候,由于对一个非法内存进行了操作,在程序运行的过程中,出现了“Segmentation fault (core dumped)”——段错误。呵呵,这种问题我想很多人会经常遇到。遇到这种问题是非常无语的,只是提示了"段错误"...

2018-05-23 13:44:16

阅读数:1775

评论数:0

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