C-C++
文章平均质量分 68
佐少龙
They say that California is nice and warm this time of year……
展开
-
C/C++(30)有个词叫条款
1、对于单纯变量,最好以const对象或是enums 替换 #defines.2、对于形似函数的宏(macros),最好改写成inline函数来替换 #defines.3、将某些东西声明为const可以帮助编译器侦测出错误的用法。const可被加于任何作用域内的对象、函数参数、函数返回类型、函数成员体系。4、编译器强制实施bitwise constness,但你编写程序时应该使用“概念上的常量原创 2018-05-11 09:59:42 · 295 阅读 · 0 评论 -
C/C++(5)printk函数
strtok#include <iostream>#include <string.h>using namespace std;/* * *--------------------------------- i'm seperator line -----------------------------------* 定义函数:char * strtok(char *s, const char原创 2016-10-16 11:39:05 · 1208 阅读 · 0 评论 -
C/C++(6)va_list、va_start、va_arg、va_end实现可变参数列表函数
经典的可变参数表printf函数的实现原理:在C/C++中,对函数参数的扫描是从后向前的。 函数参数是通过压入堆栈的方式来给函数传参数的,最先压入的参数最后出来,而栈是从内存的高地址向低地址存放的,控制存放位置的是堆栈指针,最先压入的参数是在最上面,最后压入的参数在最下面,结构上看起来是第一个,所以最后压入的参数总是能够被函数找到,因为它就在堆栈指针的上方。printf的第一个被找到的参数就是那个原创 2016-10-24 17:40:12 · 1116 阅读 · 0 评论 -
C/C++(7)字符串操作学习
1)字符串操作strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp(p, p1) 忽略大原创 2016-10-25 10:18:43 · 681 阅读 · 0 评论 -
C/C++(2)VS2015生成并使用自定义动态库dll/静态库lib
动态库:1.新建win32控制台应用程序DLLTEST,选中DLL(D)、预编译头(P)、导出符号(X)、自动生成了如下文件: //DLLTEST.h文件 // 下列 ifdef 块是创建使从 DLL 导出更简单的 // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 DLLTEST_EXPORTS // 符号编译的。在使用此 DLL 的 // 任何其他项目原创 2016-10-04 09:44:07 · 6594 阅读 · 0 评论 -
C/C++(1)双重指针实现C/C++函数返回多个值
#include <iostream>using namespace std;void intpp(int** p) { *p = new int[3]; for (int i = 0; i < 3; ++i) { (*p)[i] = 3 - i; }}void charpp(char **p) { *p = new char[3]; for原创 2016-10-04 11:16:25 · 1453 阅读 · 0 评论 -
C/C++(3)C++调用C语言的函数和头文件
C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同,C++和C是两种完全不同的编译链接处理方式,如果直接在C++里面调用C函数,会找不到函数体,报链接错误,解决办法:加 extern “C”,示例如下: VS2015新建win32控制台应用程序,添加如下文件 c_include.h:#pragma once#include <stdio.h>int a原创 2016-10-04 18:06:36 · 4155 阅读 · 0 评论 -
C/C++(4)C调用C++方法
1. 非真正意义上的Linux下用C调用C++生成的动态库.so。编写C++源文件:CPPLIB.h和CPPLIB.cpp。 CPPLIB.h:#pragma once#include <iostream>using namespace std;class CPPLIB{public: CPPLIB(); int add(int x, int y); ~CPPLIB();};C原创 2016-10-07 10:53:14 · 402 阅读 · 0 评论