C/C++编程
纵横千里,捭阖四方
弱小,是最大的罪过;没有行动,梦想终究是想一想
展开
-
linux下制作共享库.a和 .so
接触linux时间不长,总是感觉底气不足,很多东西总是感到迷迷糊糊,其实是因为没找拿到linux C的两把钥匙: makefile和动态库、共享库。linux C中几乎所有的程序都是以库的形式给出,如要要部署,必须知道如何修改makefile。最后生成的组件也将以.a或者.so的形式加载到更大的应用程序中。下面的文章是武汉华嵌嵌入式培训中心 李家凯老师的博客,我做了一点修改。Linux下转载 2013-10-11 15:37:56 · 936 阅读 · 0 评论 -
C/C++面试常考题目讨论-之一strcpy()函数
1.1 功能strcpy是C语言里的标准库函数,strcpy把从src地址开始且含有’\0’结束符的字符串复制到以dest开始的地址空间,返回值的类型为char*。原型为 char strcpy(char dset,const char *srcstr); 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。原创 2018-01-29 16:32:50 · 1039 阅读 · 0 评论 -
笔记-arm-linux-gnueabi-ld: cannot find common/env_embedded.0的解决方法
在使用飞思卡尔的IMX6Q编译U-boot时遇到这样一个问题:Map u-boot.map -o u-bootarm-linux-gnueabi-ld: cannot find common/env_embedded.omake: *** [u-boot] Error 1由于第一次使用这个平台,对代码都不是很连接,看到这个错误,我当时就懵逼了。解决方法很简单原创 2017-06-13 19:59:01 · 5335 阅读 · 0 评论 -
C/C++程序设计中i++和++i的区别
在几乎所有的高级编程语言中,都有i++和++i的内容,而在C语言里,这一块是基础的不能再基础的内容,但是想当年谭浩强的C语言程序设计让我见识了什么叫小题大做,其实这是一个很简单的概念。类似的还有“--”。记住两点就够用了,第一,++i 和 i++,在单独使用时,就是 i=i+1,例如下面两个程序在gcc编译后运行结果完全一样。#include#includeint main ()原创 2016-11-11 20:50:02 · 1207 阅读 · 0 评论 -
VC实现一个库,并用VB(Visual Basic)来调用的方法,包括传递数组的方法
因为工作需要,最近写了一个VB小软件,很多功能已经用VC写好了,如果再用VB整一遍太麻烦。最好的方法将VC程序编译成dll库,然后用VB来调用就行了。虽然VB已经很老了,但是做一些小软件还是非常方便的,下面就来介绍如何将VC程序实现的crc校验程序编译成dll库,接下来介绍如何使用VB来来用,使用时注意参数要对应,特别是特别是数组传递要对应起来。第一步:使用VC编译dll库 1.启动V原创 2016-12-05 11:59:12 · 1608 阅读 · 0 评论 -
C++中引用、指针与const之间的爱恨情愁
学过C语言基础的肯定都知道变量和数据类型是再简单不过的知识,然而这个基础中确有几个泥潭,稍有不慎就粉身碎骨——编程受阻,面试被刷。其中一个就是引用、指针和const,以及相互之间剪不断理还乱的关系。今天我们就来理一理。1.引用是个什么鬼1.1引用的概念引用是为对象另外起的一个名字,也就是别名而已。那什么是对象呢?注意这里说的对象和面向对象里的对象不是一回事。这里的对象是内存的一块区域,原创 2016-08-30 21:59:59 · 5224 阅读 · 10 评论 -
C/C++程序设计学习笔记二:C语言的函数中,如何使用指针交换两个数的值,深入理解指针
使用外部函数交换两个变量的值,一个再简单不过的事情,但是在C/C++中,正确实现该功能反应了你对指针和引用等重要知识的掌握程度。本文列举了几种常见的写法,其中前三种是错误的,后两种是正确的。第四种使用的是指针,第五种使用的是引用。原创 2014-08-22 14:55:33 · 6734 阅读 · 3 评论 -
C/C++程序设计学习笔记三:通过指针引用数组
通过数组引用指针,是C语言编程里使用非常多的方法,但是有几个问题是需要注意的。sho原创 2014-08-22 15:28:54 · 895 阅读 · 0 评论 -
STM32F4板子使用LWIP进行组播收发数据的完整过程,附代码
本文详细介绍了在STM32F4板卡,使用DP83848网卡,使用LWIP协议实现组播接收和发送的完整方法。并源代码。原创 2016-05-12 10:35:28 · 22779 阅读 · 19 评论 -
C++ 程序员必须收藏的资源大全
C++ 资源大全中文版我想很多程序员应该记得 GitHub 上有一个 Awesome – XXX 系列的资源整理。awesome-cpp 就是 fffaraz 发起维护的 C++ 资源列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发转载 2016-08-27 14:27:07 · 1245 阅读 · 0 评论 -
C 程序员必须收藏的资源大全
koz.ross 维护的一个 C 语言资源列表,包括了:构建系统、编译器、数据库、加密、初中高的教程/指南、书籍、库等等。以下是 C 资源大全列表构建系统下面是一些 C 项目的自动化构建和测试工具。aimake – 一个被设计来避免复杂配置的构建工具。GNU GPL3 或更高版本。Autoconf – 一个可扩展的 M4 宏指令包,提供命令行脚本来自动配转载 2016-08-27 14:21:01 · 1937 阅读 · 0 评论 -
ubuntu 下没有pthread库以及报undefined reference to 'pthread_create'的解决方法
本文介绍了在Ubuntu下编译文件时遇到undefined reference to 'pthread_create问题的解决方法。给出了gcc编译时用-lpthread 和eclipse编译时添加共享库来解决该问题的方法。原创 2016-04-21 11:27:44 · 24962 阅读 · 1 评论 -
使用QT5实现CRC校验的过程
用QT5写的CRC32的校验程序,win7 64位下安装的QT-mingw版测试通过。原创 2016-04-21 17:34:24 · 15603 阅读 · 1 评论 -
启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法!
在win下启动eclipse时,有时候会提示找不到“ jvm.dll”文件,进而无法启动,这主要是无法定位到jre的造成的,配置java的环境变量时,我们一般是新建两个,修改一个:新建JAVA_HOME和CLASSPATH:JAVA_HOME C:\Program Files\Java\jdk1.6.0_10\CLASSPATH .;%JAVA_HOME%\lib在pat原创 2015-12-04 16:16:26 · 923 阅读 · 0 评论 -
Ubuntu 14.04远程登录服务器--ssh的安装和配置简明步骤
如果要主机通过网络操作嵌入式板子,ttelnet就够了,但是 如果要相互传文件,则必须使用另外一个强大的软件SSH。更完整的步骤和截图请参考http://jingyan.baidu.com/article/9c69d48fb9fd7b13c8024e6b.htmlUbuntu本身不自带ssh,需要手动安装,安装步骤为:1. 打开"终端窗口",输入"sudo apt-get install转载 2016-01-06 16:24:07 · 1086 阅读 · 0 评论 -
Ubuntu-12.04下安装、配置tftp服务器的简易操作方法
在Ubuntu12中安装tftp的说明有很多,但是很多方法老报错,或者连接不上,或者显示找不到文件,经过摸索,我整理了一个简单有效到安装方法。下面的操作都是在root权限下。第一步:在终端中输入下面到命令,安装tftp软件 apt-get install tftpd-hpa tftp-hpa第二步,建立tftp目录,并提升权限 我建立到tftp是 /home/lqc/t原创 2016-01-06 14:30:49 · 1411 阅读 · 0 评论 -
C语言中static的两个作用
C语言中static有两个作用,记住下面两条规则:(1)对于局部变量,用staticshe原创 2014-08-22 11:16:34 · 936 阅读 · 0 评论 -
C/C++面试常考题目讨论之二:如何通过函数来分配空间
如何将malloc放在函数里,如何写这个函数,以及如何调用是经常遇到的问题。 看题目: 1.看下面代码有什么问题 void GetMemory( char *p ) { p = (char *) malloc( 100 ); } void Test( void ) { char *str = NULL; GetMemory( str )原创 2018-01-29 17:07:58 · 331 阅读 · 0 评论