
C++/C语言
文章平均质量分 55
pannyloveworld
图像算法开发,AI算法开发...
展开
-
截取AVI格式的视频C语言代码
首先在阅读本代码之前百度一下avi,虽然经过我验证上面有部分错误,但是不影响阅读。因为有些变量的注释我没有写,所以请读者自行搜索吧。下面是c语言文件,编译之后能够直接运行,用来截取开始时间(单位s)后指定长度(单位s)的视频流。最后附上一部分视频文件的二进制,方便对照阅读。#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#inc转载 2020-06-09 17:10:03 · 610 阅读 · 0 评论 -
MFC中CFileDialog用法
CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下:CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVER...转载 2020-01-15 17:02:05 · 1920 阅读 · 0 评论 -
C语言和C++的区别
c语言虽说经常和c++在一起被大家提起,但可千万不要以为它们是一个东西。现在我们常用的C语言是C89标准,C++是C++99标准的。C89就是在1989年制定的标准,如今最新的是C11和C++11标准。根据不同的标准,它们的功能也会有所不同,但是越新的版本支持的编译器越少,所以本文在讨论的时候使用的C语言标准是C89,C++标准是C++99.我们来介绍C语言和C++中那些不同的地方。1.函数...转载 2020-01-14 17:04:56 · 394 阅读 · 0 评论 -
open和fopen的区别
open和fopen的区别:1.非缓冲文件系统缓冲文件系统是借助文件结构体指针来对文件进行管理,通过文件指针来对文件进行访问,既可以读写字符、字符串、格式化数据,也可以读写二进制数 据。非缓冲文件系统依赖于操作系统,通过操作系统的功能对文件进行读写,是系统级的输入输出,它不设文件结构体指针,只能读写二进制文件,但效率高、速度 快,由于ANSI标准不再包括非缓冲文件系统,因此建议大家转载 2017-11-06 19:32:00 · 305 阅读 · 0 评论 -
select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
从别人的博客中转载过来了这一篇文章,经过重新编辑排版之后展现于此,做一个知识点保存与学习。 select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型:int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct t转载 2017-11-18 16:33:08 · 413 阅读 · 0 评论 -
fd_set 详解
一、winsock中#include 原型int select( int nfds ,fd_set* readfds ,fd_set* writefds ,fd_set* exceptfds ,const struct timeval* timeout );nfds:本参数忽略,仅起到兼容作用。 readfd转载 2017-11-18 16:42:18 · 15114 阅读 · 0 评论 -
完全图解VS2017安装过程并演示VS2017创建Linux项目和调试
VS2017个人免费版即社区官方下载地址为:https://download.microsoft.com/download/D/1/4/D142F7E7-4D7E-4F3B-A399-5BACA91EB569/vs_Community.exe 这是一个很小的在线下载安装器。VS2017安装变得人性化了,根据组件的分类,供安装用户选择,只安装自己需要的组件,从而避免下载太多的文件和安装转载 2017-11-04 16:51:28 · 13590 阅读 · 0 评论 -
ubuntu14.04 64bit主机下面安装android的NDK开发环境
通过wget工具下载bin包:$ wget -c http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin12,因为下载下来的是bin包,所以可以直接移动到需要安装的目录下面。 将Android NDK bin包移动到你想要的目录下,如/opt/NDK/1$ chmod a+x android-ndk-转载 2017-12-23 15:28:44 · 368 阅读 · 1 评论 -
遇到异常:这可能是由某个扩展导致的
重构机房收费系统,我用EA画完UML图,打算用EA自己生成VB.NET代码,这样会方面些。没想到事情没有我想象的那么简单,可能是第一次尝试的原因,导入代码的过程中问题是一个接着一个。不过还好,虽然沿途困难重重,但是我还是一路披荆斩棘,把代码给调通了,在此小小的总结一下我遇到的问题吧。 一、引用问题 用EA在指定的文件包下生成类后,各层之间再调用的时候出现了这么一...转载 2018-10-11 10:31:36 · 971 阅读 · 0 评论 -
完全图解VS2017安装过程并演示VS2017创建Linux项目和调试
VS2017个人免费版即社区官方下载地址为:https://download.microsoft.com/download/D/1/4/D142F7E7-4D7E-4F3B-A399-5BACA91EB569/vs_Community.exe 这是一个很小的在线下载安装器。VS2017安装变得人性化了,根据组件的分类,供安装用户选择,只安装自己需要的组件,从而避免下载太多的文件和安装转载 2017-07-28 11:00:41 · 13233 阅读 · 0 评论 -
VS2017动态链接库(.dll)的生成与使用
这里以VS2017为例子,讲解一下动态链接库(.dll)的生成与使用。一、动态链接库(.dll)的生成1、打开:“文件”-“新建”-“项目”2、打开:“已安装”-“模板”-“Visual C++”-“Win32”-“Win32 控制台应用程序” 把文件“名称”加上,为自己的工程名称;把“位置”加上,为自己的工程所在位置;3、点击:“下一步”4、选择“DLL”和“原创 2017-07-31 19:39:40 · 106299 阅读 · 27 评论 -
windows系统c++多线程开发
线程的一些基本概念一、线程的基本概念。基本概念:线程,即轻量级进程(LWP:LightWeight Process),是程序执行流的最小单元。一个标准的线程由线程ID、当前指令指针(PC),寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程不拥有系统资源,近拥有少量运行必须的资源。二、线程的基本状态。基本状态:就绪、阻塞和运行三种基本状态。就绪转载 2017-02-20 10:53:58 · 3433 阅读 · 0 评论 -
VS2012和XE2013的关联和设置问题
1. 首先要正确安装Microsoft VisualStudio 2012 + Intel Parallel Studio XE 2013,其中,先安装VS2012,再安装XE2013。2.Microsoft Visual Studio 2012 + Intel Parallel Studio XE 2013集成检验:打开:开始所有程序->IntelParallel Studio XE 2原创 2017-02-27 10:53:40 · 3049 阅读 · 1 评论 -
memset()、memcpy()、memcmp()的使用方法
1、void *memset(void *s,int ch,size_t n);属性:函数;用法:将s中当前位置后面n个字节用ch替换,并返回s;头文件(C语言):#include 举例:char str_addr[50];memset(str_addr,0,50*sizeof(char));2、void *memcpy(void *dest ,const void *src原创 2017-05-24 17:31:16 · 4926 阅读 · 0 评论 -
sprintf()、fprintf()的使用方法
1、int sprintf(char *str,char *format,[forgument,..]);属性:函数;用法:将格式化的字符写入字符串;头文件:#include 参数:char *str:要写入字符串的指针; char *format:要写入字符串的格式; forgument:要写入的字符串;举例:#inc原创 2017-05-25 15:19:21 · 1215 阅读 · 0 评论 -
C语言中extern的用法
在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。1. extern修饰变量的声明。举例来说,如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。这里需要注意的是,被引用的变量v的链接属性必须是外链接(external)的,也就是说a.c要引用到v,不只是取决于在a转载 2017-06-23 15:06:36 · 404 阅读 · 0 评论 -
静态库和动态库的区别
库是写好的,现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。 本质上来说,库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。 所谓静态、动态是指链接。回顾一下,将一个程序编译成可执行程序的步骤: 图1.编译过转载 2017-06-24 11:21:48 · 493 阅读 · 0 评论 -
static函数的申明
static 声明的变量在C语言中有两方面的特征: 1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。 Tips: A.若全局变量仅在单个C文件中访问,则可以将这个转载 2017-06-27 14:42:07 · 6983 阅读 · 0 评论 -
C语言面试题大汇总
static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能被改变,指针可以改变所指的对象。2) 不存在指向空值的引用,但是存在指向空值的指针。8. 描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性9. 全局变量和局部变量在内存中是否有转载 2017-06-27 17:40:34 · 546 阅读 · 0 评论 -
C++ Template
引言模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计。C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream。函数模板在c++入门中,很多人会接触swap(int&, int&)这样的函数类似代码如下:void swap(int&a , int& b) { int temp = a转载 2017-02-22 12:20:37 · 249 阅读 · 0 评论