
C
文章平均质量分 70
Maybe______
这个作者很懒,什么都没留下…
展开
-
C运行时库(C Run-time Library)详解
转 :http://blog.youkuaiyun.com/wqvbjhc/article/details/6612099一、什么是C运行时库1)C运行时库就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些库中的函数.2)C 语言是所谓的“小内核”语言,就其语言本身来说很小(不多的关键字,程序流程控制转载 2016-08-02 13:32:05 · 1223 阅读 · 0 评论 -
如何判断一个文本文件内容的编码格式 UTF-8 ? ANSI(GBK)
如何判断一个文本文件内容的编码格式 UTF-8 ? ANSI(GBK)转自:http://blog.youkuaiyun.com/jiangqin115/article/details/42684017UTF-8编码的文本文档,有的带有BOM (Byte Order Mark, 字节序标志),即0xEF, 0xBB, 0xBF,有的没有。Windows下的txt文本编辑器在保存UTF-8格式的文本文档时会自动...转载 2018-06-14 15:38:40 · 5388 阅读 · 1 评论 -
回调函数详解
版权声明请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。 一,回调函数我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制...转载 2018-03-22 11:34:24 · 1137 阅读 · 1 评论 -
linux, windows, mac, ios等平台GCC预编译宏判断
写跨平台c/c++程序的时候,需要搞清各平台下面的预编译宏,区分各平台代码。而跨平台c/c++编程,GCC基本在各平台都可以使用。整理了一份各平台预编译宏的判断示例。需要注意几点:* windows32/64平台_WIN32都会被定义,而_WIN64只在64位windows上定义,因此要先判断_WIN64* 所有的apple系统都会定义 __APPLE__,包括MacOSX和iOS*转载 2017-06-05 17:07:33 · 1167 阅读 · 0 评论 -
QueryPerformanceFrequency精确获取时间
QueryPerformanceFrequency是操作系统的性能统计分辨率,也就是每秒钟统计多少次的意思。QueryPerformanceCounter 是系统性能统计计数器,表示统计了多少次,除以QueryPerformanceFrequency,得到系统运行时间(秒数)。QueryPerformanceCounter2-QueryPerformanceCounter1原创 2017-02-17 10:12:51 · 5936 阅读 · 0 评论 -
值得推荐的C/C++框架和库
值得学习的C语言开源项目- 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~转载 2016-11-25 17:34:39 · 492 阅读 · 0 评论 -
C/C++的64位整型 不同编译器间的比较
在C/C++中,64为整型一直是一种没有确定规范的数据类型。现今主流的编译器中,对64为整型的支持也是标准不一,形态各异。一般来说,64位整型的定义方式有long long和__int64两种(VC还支持_int64),而输出到标准输出方式有printf(“%lld”,a),printf(“%I64d”,a),和cout 本文讨论的是五种常用的C/C++编译器对64位整型的支持,这五种编译器分转载 2016-11-25 14:14:36 · 471 阅读 · 0 评论 -
C/C++函数调用的几种方式总结
调用函数时,计算机常用栈来存储传递给函数的参数。栈是一种先进后出的数据结构,栈有一个存储区、一个栈顶指针。栈顶指针指向堆栈中第一个可用的数据项(被称为栈顶)。用户可以在栈顶上方向栈中加入数据,这个操作被称为压栈(Push),压栈以后,栈顶自动变成新加入数据项的位置,栈顶指针也随之修改。用户也可以从堆栈中取走栈顶,称为弹出栈(pop),弹出栈后,栈顶下的一个元素变成栈顶,栈顶指针随之修改。函数调转载 2016-11-25 11:33:53 · 1311 阅读 · 0 评论 -
把C++类成员方法直接作为线程回调函数
我以前写线程时要么老老实实照着声明写,要么使用C++类的静态成员函数来作为回调函数,经常会因为线程代码而破坏封装.之前虽然知道类成员函数的展开形式,但从没想过利用过它,昨天看深入ATL时无意中学会了这一招:) 类成员方法是一个比较特殊的函数,它在编译时会被转化成普通函数,比如有TMyClass类:class TMyClass{ void Func();};这个TMyCla转载 2016-11-25 10:49:58 · 511 阅读 · 0 评论 -
C语言回调函数学习
对指针的应用是C语言编程的精髓所在,而回调函数就是C语言里面对函数指针的高级应用。简而言之,回调函数是一个通过函数指针调用的函数。如果你把函数指针(函数的入口地址)传递给另一个函数,当这个函数指针被用来调用它所指向的函数时,我们就说这个函数是回调函数。 为什么要使用回调函数呢?我们先看一个小例子: Node * Search_List (Node * node, const int v转载 2016-11-25 09:29:14 · 338 阅读 · 0 评论 -
C语言中实现参数个数不确定的函数
C语言中有一种长度不确定的参数,形如:"…",它主要用在参数个数不确定的函数中,我们最容易想到的例子是printf函数。(注意:在C++中有函数重载(overload)可以用来区别不同函数参数的调用,但它还是不能表示任意数量的函数参数。)C语言用va_start等宏来处理这些可变参数。这些宏看起来很复杂,其实原理挺简单,就是根据参数入栈的特点从最靠近第一个可变参数的固定参数开始,依次获取每个可转载 2016-09-30 10:53:21 · 6364 阅读 · 0 评论 -
Linux 平台 gcc 和动态共享库的基础知识
对大多数不从事Linux平台C语言开发的人来说,GNU gcc的一套工具和Linux平台的共享库的使用还是十分陌生的,其实我也不太熟悉,姑且写点基础知识,权当做备忘吧。一、GNU gcc的编译工具用法我们先来写一个简单的C程序:hello.c#include <stdio.h> void print_hello() { printf("Hell...转载 2019-03-17 10:18:43 · 256 阅读 · 0 评论