![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
dragoo1
这个作者很懒,什么都没留下…
展开
-
ld.exe: unrecognized option ‘--major-image-version‘
原因:将project指令放到了set(CMAKE_SYSTEM_NAME Linux)之前。问题:在windows环境使用cmake+mingw32+gcc交叉工具链报错。原创 2024-05-06 21:45:23 · 428 阅读 · 1 评论 -
可变参数 C/C++ 宏定义(转)
【代码】可变参数 C/C++ 宏定义(转)转载 2024-04-30 10:45:35 · 24 阅读 · 0 评论 -
编程参考 - C语言中将字符串转换为整数(转)
C语言,主要有两种方法可以将字符串转为整数:atoi() 和 strtol()。转载 2023-02-21 09:42:36 · 4847 阅读 · 0 评论 -
如何判断.lib是静态库还是导入库(转)
VS自带的一个工具 - lib.exe。转载 2022-11-21 15:32:27 · 330 阅读 · 0 评论 -
C语言 strstr忽略大小写
strstr可以用来查找字符串,但是不支持忽略大小写的功能,虽然可以全部转为大写再判断,但是会影响效率。所以需要在strstr的基础上修改,下面是strstr的源码。效率非常高的库函数,我们稍作修改即可。这样实现了strstr忽略大小写匹配。......原创 2022-08-29 10:26:03 · 3712 阅读 · 0 评论 -
内存碎片与malloc(转)
linux提供了brk,sbrk系统调用来申请释放内存。linux系统通过一个指针来管理内存,如图所示堆区向上生长,使用一个指针指向堆顶。每次申请内存,使用系统调用把brk指针向上移动,释放内存就把brk指针向下移动。但是如果不想释放data2直接释放data1,这是做不到的。不需要的数据data1,必须等上面的数据都释放后才能释放。不需要的内存无法归还给操作系统,这就是内存碎片。一、libc库(stdlib.h)的mallocmalloc使用链表来管理内存。1、使用brk申请一大块内存转载 2022-04-12 09:45:16 · 945 阅读 · 0 评论 -
c/c++,输入一个字符
getch()、getche()和getchar()函数 (1) getch()和getche()函数 这两个函数都是从键盘上读入一个字符。其调用格式为: getch(); getche(); 两者的区别是: getch()函数不将读入的字符回显在显示屏幕上, 而getche() 函数却将读入的字符回显到显示屏幕上。 例1:原创 2017-01-17 21:28:04 · 16680 阅读 · 0 评论 -
fopen中mode参数 r, w, a, r+, w+, a+ 具体区别(转)
r : 可读, 不可写, 必须存在, 可在任意位置读取, 文件指针自由移动w : 不可读, 可写, 可以不存在, 若存在则必会擦掉原有内容从头写, 文件指针无效a : 不可读, 可写, 可以不存在, 必不能修改原有内容, 只能在结尾追加写, 文件指针无效r+ : 可读可写, 必须存在, 可在任意位置读写, 读与写共用同一个指针w+ : 可读可写, 可以不存在, 必会擦掉原有内容从头写, 文件指针只对读有效 (写操作会将文件指针移动到文件尾)a+ : 可读可写, 可以不存在, 必不能修改原转载 2021-11-24 11:04:47 · 5046 阅读 · 0 评论 -
error C2065: “true”: 未声明的标识符
原因:C没有内置布尔类型。所以它不知道true是什么。解决:1、把true改成12、在C99中编译并包含<stdbool.h>参考:下面C语言代码错误是true,未声明标识符,这是为什么?怎么修改? #include <stdio_百度知道 (baidu.com)使用未声明的标识符'true' - Thinbug...原创 2021-07-06 11:23:00 · 3191 阅读 · 0 评论 -
在定义字符串时,常这样char szVar[n]其中的sz是什么的缩写?
s表示string,z表示zero,就是以NULL结尾的string参考:http://topic.okbase.net/201002/2010020209/3801954.html原创 2020-06-29 09:08:19 · 801 阅读 · 0 评论 -
strtol溢出的解决办法
extern char* pszValue ;//strtol只能返回带符号的整数,如果pszValue是个无符号数,且值 > 0x7FFFFFFF,返回值为0x7FFFFFF ,即-1;int nValue = strtol(pszValue ,NULL,16);//可以通过如下的方式解决这个问题。int nValue = strtoul(pszValue ,NULL,16)...原创 2018-12-08 10:27:23 · 1720 阅读 · 0 评论 -
CreateProcess在xp里调用nodejs
想用nodejs加https-server做一个服务端,最初在win7+Node.js 10.2.1使用CreateProcess可以启动成功。项目软件需要支持xp及以上操作系统,但nodejs在Node.js 6.0.0便不支持xp了,最初使用Node.js 5.12.0,发现老是CreateProcess老是调用失败,调了半天CreateProcess参数没有成功。后来换成Node.js ...原创 2018-10-23 23:31:52 · 375 阅读 · 0 评论 -
VS2008反汇编小解(转)
了解反汇编的一些小知识对于我们在开发软件时进行编程与调试大有好处,下面以VS2008环境下的VC++简单介绍一下反汇编的一些小东西!如果有些解释有问题的地方,希望大家能够指出。1、新建简单的VC控制台应用程序(对此熟悉的同学可以略过)A、打开Microsoft Visual Studio 2008,选择主菜单“File”B、选择子菜单“New”下面的“Project”,打开“New P转载 2014-02-20 13:37:38 · 1127 阅读 · 0 评论 -
用汇编来看C语言的简单实现(转)
好久没更新日志了,一是学习的时间实在有限.二是多是走马观花的看书.今天闲下来,写篇技术文章吧.反正无聊.先来复习几个相关的ASM指令.1.堆栈相关指令push : 把一个32位的操作数压入堆栈中.(操作导致esp被减4)pop : 相反,esp加4,一个数据出栈.sub : 减法.第一个参数是被减数所在的寄存器;第二个参数是减数(对应的还有add指令)a转载 2014-02-17 10:41:46 · 5776 阅读 · 0 评论 -
itoa()和atoi()/atol()的源码
/****atox.c - atoi and atol conversion** Copyright (c) 1989-1997, Microsoft Corporation. All rights reserved.**Purpose:* Converts a character string into an int or long.***********************转载 2013-07-02 10:38:01 · 1011 阅读 · 0 评论 -
C++之char , signed char , unsigned char(转)
ANSI C 提供了3种字符类型,分别是char、signed char、unsigned char.而不是像short、int一样只有两种(int默认就是unsigned int).三者都占1个字节(1 byte),因此:signed char取值范围是 -128 到 127(有符号位)unsigned char 取值范围是 0 到 255这个大家都很清楚!!但是char 呢转载 2013-04-22 09:53:20 · 2413 阅读 · 0 评论 -
fopen的工作原理(转)
FILE *fp;fp=fopen("filename.txt","w");首先检测filename.txt是否存在,如果不存在则在磁盘创建该文件,然后在内存开辟区域(应该是缓冲区)准备写该文件调用fclose时,将内存中的内容写入到磁盘中去 测试(filename.txt不存在):#include #include int main(){ FILE转载 2012-12-11 11:38:54 · 3919 阅读 · 1 评论 -
fopen 提前 EOF
转自:http://blog.csdn.net/megaboy/article/details/533333在windows操作系统中,大家在编写带有文件操作的程序时,有时候会遇到一种奇怪的现象,在对一个文件以文本方式进行读取的过程中,读到中途还没到文件末尾时feof()函数就意外地为真,这让人很惊讶,一时难以找到原因,实际上,这是ASCII码0x1A在作怪。运行下面程序:int ma转载 2012-12-03 15:16:12 · 1597 阅读 · 0 评论