C语言
文章平均质量分 59
sanqima
这个作者很懒,什么都没留下…
展开
-
解决C#报“MSB3088 未能读取状态文件*.csprojAssemblyReference.cache“问题
出现该问题的原因是,当前.cs文件修改了,但是其缓存文件*.csprojAssemblyReference.cache没有更新,需要重新清理一下工程,再编译、运行即可。原创 2023-08-19 16:41:51 · 665 阅读 · 0 评论 -
Linux嵌入式方向的常见面试题
libudev是udev是一种开源实现库,它能根据系统中硬件设备的状态来动态的更新设备文件,包括设备文件的创建、删除等。使用udev后,在/dev目录下就直包含系统中真正存在的设备。udev同时提供了建设接口,当设备的状态发生改变时,监视接口可以发送对应的事件给应用程序。主要管理/dev目录下的设备节点,同时,也接替devfs、hotplug热插拔的功能,处理添加硬件、删除硬件、加载firmware,以及用户空间的行为。原创 2023-08-08 21:55:53 · 544 阅读 · 0 评论 -
vscode使用g++编译.c文件或.cpp文件
vscode是一个跨平台、轻量级、插件非常丰厚的IDE,这里介绍在vscode里使用g++来编译.c文件或.cpp文件,同时,也会介绍Code Runner在vscode里的使用。g++也叫GCC, 在Window中,是使用MinGW方式来实现g++的,它分为32位和64配置g++haunj 位2个版本,其中,MinGW-64是64位的,MinGW-32是32位的。使用vscode编译.c文件、.cpp文件配置g++环境。原创 2023-07-23 09:35:05 · 6057 阅读 · 0 评论 -
visual studio重复利用工程和重命名
在使用visual studio进行开发的时候,每次都要创建工程和选择保存路径,有些功能还需要配置lib和include路径,才能使用,这样比较繁琐。 如果不想每次都创建新工程,可以将老的工程复制一份,改个名字,就可以重新使用。 这里以在VS2013环境下,对工程Mp4toWmv进行重命名为例,将工程名由Mp4toWmv改成RgbtoMp4,原创 2020-06-26 16:54:56 · 625 阅读 · 0 评论 -
使用STL给选手打分
有5名选手,选手ABCDE,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分。 1、创建五名选手,放到vector中, 2、遍历vector容器,取出来每一个选手,执行for循环,可以把10个评委打分存到deq...原创 2019-12-28 15:14:38 · 214 阅读 · 0 评论 -
vs2013+Qt5.4.1添加打印信息到控制台
在代码调试时,有时需要把打印信息添加到控制台,这时就需要开启打印信息。步骤如下: 1)使用VS2013创建一个Qt工程,名称为BoostTwo,工程类型为Qt GUI Application。 2)在VS2013的解决资源管理器双击...原创 2019-12-08 10:56:57 · 578 阅读 · 0 评论 -
2个顺序表合并
在数据结构中,常常把2个有序的顺序表进行合并,这里以从小到大进行排序的有序表A、B合并为有序表C为例,代码如下:// SQListAI.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdlib.h>#define Maxsize 100typedef in...原创 2019-12-07 20:39:19 · 2495 阅读 · 0 评论 -
关于手写代码
在面试的过程中,软件主管为了考察面试者的代码水平,往往让面试者手写一段经典代码,比如字符串拷贝函数strcpy()、冒泡排序、二叉树的三种遍历(先序、中序、后序)等。这就需要面试者在复习的过程中理清算法的原理、画算法流程图或者UML类图、会写伪代码哪怕是中文也行。 下面介绍常见的几种手写...原创 2019-12-05 09:39:50 · 2848 阅读 · 0 评论 -
在VC6中调试MEX文件
开发环境:VC++6.0 + Matlab7.0 采用MEX文件,将C语言编写的代码嵌人到Matlab中执行是Matlab与C语言混合编程的一种重要方式。但是,MEX文件不能在Matlab中像编写m文件那样便于调试,如果MEX文件实现的功能稍微复杂一点就会使程序的调试工作十分繁琐。尤其是对于很多已经习惯于采用C/C++开发环境的开发人员来说,更是非常的不适应。由于MEX文件就是动态链接库,因而原创 2015-10-26 21:07:04 · 824 阅读 · 0 评论 -
在Win7 64位上安装mySQL5.1和Navicat10.0
软件环境:Win7 64位 + MySQL5.1+Navicat10.0 以前用的数据库是Microsoft(微软)公司的MS SQL2000,但是MS SQL2000只能在XP上使用,后来接触到Oracle(甲骨文)公司的mySQL时,发现mySQL比MS SQL2000的兼容性强多了,安装mySQL非常方便,再安装一个图形界面软件Navicat for mySQL,就可以直接在Navica原创 2015-11-08 20:22:52 · 1876 阅读 · 0 评论 -
VC6.0中的小问题与解决方法
如果VC6.0 Debug窗口无法关闭,则先按Shift+Ctrl+F9消去所有断点,再多按几次F5,就自动退出Debug窗口了。如果没有编程助手,那么就安装一个Visual Assist6; 如果不能显示行号,那么就安装一个行号插件VC6LineNumberAdd; 如果vc6源代码中的字体太小,那么就安装一个字体修改器;如果想要C++API.chm文件,那么就下载一个;原创 2014-07-18 20:33:54 · 862 阅读 · 0 评论 -
Visual C++调用Matlab引擎
本实例演示如何在Visual C++6.0 MFC工程中调用Matlab引擎。 软件环境:VC++6.0 + Matlab7.0。 一、创建一个基于单文档的MFC工程:MatlabEngineTest,其中view类的基类选为CFromView,如图(1)所示: 图(1)创建基于单文档的MFC工程,View基类选择CFromView MatlabEngineTestView中原创 2015-10-30 09:30:53 · 2833 阅读 · 0 评论 -
模式匹配(第二篇KMP算法
KMP算法是由D.E.Knuth、J.H.Morris和V.R.Pratt等人共同提出的,所以称为Knuth-Morris-Pratt算法,简称为KMP算法。KMP算法分析了模式串中隐藏的有利于模式匹配的信息。这种信息就是模式串中的“部分匹配”信息,或者,模式串中某个位置“前串等于后串”的最大长度信息。 模式串t的next[j]数组公式如下: next[j]=⎧⎩⎨Max{k|0<k<j原创 2015-10-05 22:32:23 · 668 阅读 · 0 评论 -
解决cannot open file "libmx.lib"问题
在用Matlab与C/C++混合编程时,常常碰到xxx.lib文件找不到问题,发生此问题的原因是:C/C++编译器没有引用xxx.lib文件。 解决方法:将该文件所在的lib路径添加到C/C++编译器的Library files,同时,在编译器的Link选择卡里添加xxx.lib,如图(1)、(2)所示: 图(1)在Library files里添加路径:D:\MATLAB7\EXTERN\LI原创 2015-10-26 21:31:07 · 9535 阅读 · 0 评论 -
解决"mex setup或mbuild setup找不到编译器"问题
软件环境:Win7 64位 + Matlab7.0 + VC++6.0英文版 问题一:“mex -setup编译器找不到” 在Matlab7.0的命令行窗口输入: mex -setup 发现:C++编译器找不到 解决方法如下: 1)重启Matlab7.0,在Matlab7.0的命令行窗口,依次输入: mex -setup n原创 2015-10-30 18:46:43 · 10062 阅读 · 0 评论 -
VS2010小技巧
VS2010注册码: YCFHQ9DWCYDKV88T2TMHG7BHP 点击VS2010工具栏上的【帮助】–》注册产品 –》将“YCFHQ9DWCYDKV88T2TMHG7BHP”复制到密钥框里–》OK解决“VS2010链接错误:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”问题 系统是Win7 X64,方法如下: C:\Wi原创 2015-11-25 19:50:10 · 750 阅读 · 0 评论 -
win7下用VC6.0连接MySQL5.1数据库
软件环境: Win7 64位 + MySQL5.1 + VC6.0 在VC中调用MySQL数据库时,需要用到MySQL5.1安装位置的include目录和lib目录,还有libmysql.lib文件。 一、在VC6.0里,设置数据库的连接环境 1.1) 设置Include目录和Lib目录 点击VC6.0工具栏上的【Tools】–> options –> Directories原创 2015-12-03 18:55:41 · 1696 阅读 · 3 评论 -
使用VC++类库进行数值分析
数值计算是计算机应用永恒的话题,众多的工程技术人员、理工科专业的学生都要学习各种各样的数值计算方法,在计算机上编制或大或小的计算程序,以求得他们所研究问题的数值解答。用三种方法进行数值分析,第一种直接使用Matlab,第二种在VC++中调用Matlab引擎,第三种在VC++中调用已写好的数值分析库,比如matrixVCDLL.dll和matrix.h,本文主要对第三种方法进行描述。原创 2015-11-02 19:46:31 · 1872 阅读 · 0 评论 -
VC6无法打开新类的源文件和头文件
有时候,在VC6中创建一个类s原创 2014-09-24 11:15:38 · 1866 阅读 · 0 评论 -
win7里设置VC6中的字体
VC++6.0中默认的字体是Fixedsys,由于该字体太小,所以将字体由Fixedsys改为Courier New,大小设置为14。步骤如下: 1) 点击win7的开始按钮–》控制面板–》字体–》找到Courier New 字体有4个,分别为”Courier New常规”、”Courier New粗体”、“Courier New粗体 斜体”、“Courier New斜体”都设置为【显示】状态原创 2015-10-04 17:01:29 · 2454 阅读 · 0 评论 -
冒泡排序的模板函数
将类型进行参数化,就可以制造函数模板了。下面实现冒泡排序的模板函数。//bubbleSort.htemplate void bubblesort(T arr[],int n){ bool done=0; //标志位 for (int i=1;i<n&&!done; i++) { done=1; for (int j=1;j<=n-1;j++) if(arr[j-1]原创 2015-01-19 18:39:07 · 3416 阅读 · 0 评论 -
断言assert()函数的使用
assert()函数是一个断言函数,原创 2014-11-05 21:39:22 · 2822 阅读 · 0 评论 -
解决"LNK1201:写入程序数据库 ‘.pdb’时出错"问题
在使用VS2002中,chan在重新编译的时候,经常报错:fatal error LNK1201: 写入程序数据库“.pdb”时出错;请检查是否是磁盘空间不足、路径无效或权限不够原因是编译要生成.pdb文件,但是这个.pdb文件又被VS的进程独占,所以生成失败。原创 2014-11-15 22:12:56 · 7124 阅读 · 0 评论 -
用电脑上的计算器计算反三角函数
电脑的【开始程序】【附件里原创 2014-10-28 21:19:50 · 11318 阅读 · 0 评论 -
解决“fatal error c1803 无法打开包括文件”问题
一般出现,“”原创 2014-09-30 21:11:05 · 4352 阅读 · 0 评论 -
VC6中的代码提示
VC6本身就用代码提示功能,这个功能由工程目录下的.ncb文件提供。如果VC6不能进行代码提示,提示效果不理想,多数情况是该.ncb文件已损坏,这该说这是VC6一个令人遗憾的bug原创 2014-09-22 23:47:11 · 5151 阅读 · 0 评论 -
VC6管理多个工程
一、在开发程序时,有时需要在一个工作区中管理多个工程。 用户可以首先打开一个工程,然后,点击工具栏上的“Projec”---》“Insert Project into Workspace”,就会工程添加到当前的工作区中。 如果想要设置“活动工程”,只需要右击该工程——》点击“Set as Active Project”即可。二、显示函数的参数原创 2014-09-24 10:46:56 · 1455 阅读 · 0 评论 -
MFC中的数值追踪(在循环中调试)
1)新建一个MFC AppWizard(exe)工程,名称为Tarce.原创 2014-09-21 19:17:53 · 1081 阅读 · 0 评论 -
用C读取DXF中的直线数量和坐标
#define STRLEN 60#define DATASIZE sizeof(EntityData) /*-----每个实体的结构-----*///你可在在此添加其它的实体//为了提高精度,变量可定义为双精度型typedef struct tagLine{ float x1,y1,z1; float x2,y2,z2;}LINE;原创 2014-07-18 10:00:01 · 3474 阅读 · 0 评论 -
理解typedef
typedef 表示定义一个类型名的别称。例如: typedef int partNumberT,serialNumberT; 该语句表示定义int类型的两个别名:partNumberT和serialNumberT。这样定义可以提供更多的信息。也就是说 partNumberT pn; 比 int pn;的可读性更强。因为语句int原创 2014-12-17 10:55:34 · 873 阅读 · 0 评论 -
VS2010中常用的快捷键
1. 格式化对齐:Ctrl+K+F2. 智能感知:Ctrl+J;3. 智能感知显示参数信息:Ctrl+Shift+空格;4. 检查括号匹配(在左右括号间切换): Ctrl +]5. 选中从光标起到行首(尾)间的代码: Shift + Home(End)6. 在方法定义和调用之点切换:Ctrl+Shift+7(8)7. 设置断点:F98. 使用Tab增加缩进,Shift+原创 2014-12-17 19:03:10 · 1300 阅读 · 0 评论 -
设置编程软件的背景颜色
编程时,如果背景色是白色,则编程久了眼睛就会酸痛,建议把软件的背景色设置为豆沙绿,这样有利于保护眼睛的视力。背景色的各个参数如下:色调:85饱和度:123亮度:205原创 2015-01-21 11:12:47 · 7521 阅读 · 0 评论 -
什么是空指针
C++语言定义中说,每一种指针类型都有一个特殊值----"空指针"。 空指针在概念上不同于未初始化的指针。空指针可以确保不指向任何对象或函数;而未初始化的指针则可能指向任何地方。 空指针不是野指针。每种指针类型都有一个空指针,而不同类型的空指针内部表示可能不尽相同。尽管程序员不必知道内部值,但编译器必须时刻明确需要哪种指针空指针,以便在需要时加以区分。原创 2014-12-08 21:08:06 · 44096 阅读 · 1 评论 -
运算符的优先级与结合性
例题:设int型变量a =3,b=4,c=5, 则表达式((a+b)>c)&&a||b+c&&b+c 的值是 ( ) A. 0 B.1 C. 2 D. 3 【分析】本题 考查逻辑运算的优先级 本题中的运算符“()原创 2014-12-09 13:18:51 · 1045 阅读 · 0 评论 -
类成员函数的重载、覆盖和隐藏的区别
类的成员函数重载是指在同一个类中有多个同名的方法,这些方法的参数类型、参数个数或者方法属性(const属性)不同。 成员函数的覆盖是指父类中定义了一个虚方法,子类又重新定义了该方法。通过覆盖父类的虚方法,可以实现动态绑定。 成员函数的隐藏是指子类重新定义了父类的非虚方法,此时,子类的方法将隐藏父类的方法。 【说明】类的成员函数重载时,这些函数处于同一个类中,函数原创 2014-12-09 12:27:45 · 1218 阅读 · 0 评论 -
预防野指针的几种方法
野指针,又称迷途指针,即指向“垃圾”内存的指针。此时指针指向的内存已被操作系统回收,程序已无法再访问。原创 2014-12-08 19:40:16 · 4968 阅读 · 0 评论 -
查找单链表中的倒数第m个结点
例4,设计一个算法求出单链表的倒数第m个结点,要求不得求出链表长度,不得对链表进行逆转,如果找到该结点就返回它的地址,否则就返回NULL。 【分析】该题目要求求出单链表的倒数第m个结点,但又不能逆转单链表。 我们知道,获取单链表顺数第i个结点的方式是:设置指针p=head,从头指针开始循环执行p=p->next,一步一步往后移,直到第i个结点为止。 这里我们原创 2014-12-20 16:44:54 · 1449 阅读 · 0 评论 -
C语言中更新文件
在大多数系统中,如果一个文件因为输入而打开着,再要为输出打开它是不合法的。根据文件在特定的系统中实现的方式不同,fopen的调用可能失败或者破坏文件中的内容。 更新文件最普遍的方法是:先写新数据到临时文件中,然后更新文件的整个内容之后,用临时文件替换原有文件。因此,如果希望编写程序来更新已有的文件,该程序下面的步骤组成:原创 2014-12-17 11:31:04 · 4554 阅读 · 0 评论 -
Visual C++6.0中的各种文件扩展名
Microsoft Visual C++6.0是一个短小而精悍集成开发工具原创 2014-12-03 15:07:10 · 4923 阅读 · 0 评论 -
Dev入门
/* devC++的使用方法 1).打开DevC++,选择“File”--New--Source File 2).代码写完后,Ctrl+S--"hello.c"---Ctrl+F9--回车--Ctrl+F10 3).C代码格式如下:#include #include int main(){ ...... system("pause");原创 2014-02-27 08:49:39 · 1295 阅读 · 0 评论