
C
wx_14678
一代人终将老去,但总有人正年轻
展开
-
_stdcall与_cdecl区别
文章转载自 leehong2005, 原文链接:_stdcall 与 cdecl 区别基本定义_cdecl:是C和C++程序的缺省调用方式。每一个调用它的函数都包含清空堆栈的代码,所以产生的可执行文件大小会比调用_stdcall函数的大。函数采用从右到左的压栈方式。VC将函数编译后会在函数名前面加上下划线前缀。_stdcall:是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"转载 2020-09-24 20:30:51 · 3091 阅读 · 0 评论 -
leetcode题集: 32. Longest Valid Parentheses
题目大意:求最长有效括号的长度。此前有个简单的题,就是求所给字符串括号是否匹配,这个题的话所给的字符串并非都是有效的括号匹配。题目分析:看这个题首先需要知道有效括号的几种情况。一种呢,就是串联并列的括号,eg. "()()()()()()"; 二是括号嵌套的情况,eg. "(((())))";那么第三种呢就是两种的结合了,既有并列又有嵌套,"()((()()))"首先嵌套...原创 2020-03-03 11:47:59 · 138 阅读 · 0 评论 -
leetcode题集: 29. Divide Two Integers
一道看起来比较简单的问题,但是提交了好几次才提交上去,不是超时就是某些边界问题考虑不全面。题目大意:整数除法。要求不要乘除和模运算等。特别说明:除数和被除数都是32位有符号整数;除数不会为0(不用自己考虑了);第三点(之前没注意):溢出则返回最大整数题目分析:题目读下来,还是大致清楚的。那么既然不能用乘除和模运算,那只能采用减法了吧。但是由于正负数边界问题,修改了几次;而且说明...原创 2020-02-27 13:47:19 · 278 阅读 · 0 评论 -
逻辑与、或和条件与、或
今天在看先看一个问题的时候,发现了有人问判断条件里为什么不用 & 和 | ?只记得以前学习C的时候,老师就说条件判断要用 || 和 && ,而不是 | 和&,也就一直这么用了。我们知道逻辑与或是逻辑运算符,那么既然是运算符,那肯定是有运算结果的;而条件判断也是一种运算,只不过它的结果只有true和false,也就是对应1和0。既然逻辑运算结果包含0和1,那么某些...原创 2019-12-26 17:11:38 · 2542 阅读 · 0 评论 -
Linux下C++/C 编译生成.a 或者.so 库文件
最近因为阅读源码的工作,需要自己编译一些 .so 文件或者 .a 文件,查了一些资料,写了一些示例,记录一下。静态库和动态库一般程序编译的过程可以分为编译和链接两个阶段。链接阶段,需要把所有的obj文件(.o)链接起来,生成可执行程序,这个过程可以链接其他外部的库文件。 有时候也有省略写法。gcc -c test.c #源文件编译,生成 .o 文件gcc -o tes...原创 2019-12-18 22:27:51 · 11157 阅读 · 1 评论 -
未初始化局部变量问题与编译器优化
本文针对C/C++语言,不知道其他语言的是否会一样。首先开一个超大(爆栈)数组,int[40000000000],代码如下:#include <iostream>using namespace std;int main(){ // 下列取消注释,都是单个操作,控制变量 int a[4000000000]; // 只这样定义一个数组...原创 2019-11-26 11:28:42 · 1704 阅读 · 0 评论 -
全局变量和静态变量以及内存堆栈的关系
在编写程序时,内存的控制是很重要的一部分。关于全局变量和局部变量,静态变量的关系如何?以及他们在内存在是存储于哪部分的?做个记录,以便往后查看。1. 全局变量和静态变量全局变量:又称外部变量,与之相对的是局部变量,是从变量的作用域上来考量的。全局变量定义与函数外面,作用于整个程序;而局部变量则是定义在函数里面,仅作用于函数内部,无法跨函数作用。全局变量为静态分配,即程序执行之前就进行内存分...原创 2019-11-25 22:43:57 · 2474 阅读 · 0 评论 -
关于宏定义: x##y
最近看源码的时候发现了一个这个宏定义:#difine__OPPCONCAT1(x,y) x##y。表示一脸懵逼,查找之后发现,是一个变量名连接的用法,x##y表示的就是xy这个变量。注意是名字连接,不是变量数值的连接。举个栗子:#include <iostream>using namespace std;#define test(x, y) x##yint main...原创 2019-11-04 16:37:48 · 3455 阅读 · 0 评论