
C/C++
文章平均质量分 72
时梦
想找大四实习ing
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python调用C/C++动态库
两种方案1.利用ctypes.cdll.LoadLibrary直接在python中调用C++动态库中函数的定义,关于动态库的生成请参考GCC生成及调用动态库和静态库extern "C"{ string c_r(){ return "test0\n"; } char* c_t(){ return "test1\n"; } } python中调用import ctypesdl=c...转载 2018-03-29 20:17:39 · 7705 阅读 · 0 评论 -
addCopyright-添加版权信息的命令行工具
今天下午闲来无事,用C++写了个往文件开头添加版权信息的命令行工具,命名为 addCopyright 。已在Ubuntu16.04测试,理论上可以在任何有gcc和make的平台编译运行。依赖:gcc,make附上项目链接:https://github.com/Dts0/addCopyright目录结构:addCopyright├── addCopyright.cpp ...原创 2018-09-05 22:16:58 · 1325 阅读 · 0 评论 -
windows下编译Linux中编写的项目遇到的问题
问题1:代码的换行符不同。出现原因:在linux中,换行符只有一个 \n ,而在windows里,换行符是 \r\n 。这导致了在windows上看linux里写的源代码全是在一行里。解决方案:使用MinGW,完全兼容Linux的代码格式。MinGW安装器下载链接:https://osdn.net/projects/mingw/downloads/68260/mingw-get-s...原创 2018-09-05 22:18:27 · 427 阅读 · 0 评论 -
C++函数参数为数组时的问题,复制还是指针?
众所周知,函数在传参数时会复制参数,但传指针时,只是复制了指针本身,而没有复制指针指向的值,所以可以通过传指针或引用来使函数内可以修改外部的值。那么,对于数组,会怎样?上测试程序#include<iostream>#include<typeinfo>using namespace std;void func(int arr[]){ arr[0]=1...原创 2018-09-05 22:25:57 · 1860 阅读 · 0 评论 -
编写Linux驱动程序的hello world
0准备条件操作系统:VMware的虚拟机中运行的Debian的9采用的内核:linux4.9 1.下载linux的源代码的Debian或ubuntu的下,使用容易工具下载的Linux源码的CentOS使用yum的苏易于得到安装Linux的-y源安装完成后应当能够在/ usr / src目录中看到如下3个文件或文件夹:DTS @ debian的:〜$ LS的/ usr / src / linux...原创 2018-09-10 20:36:36 · 1350 阅读 · 0 评论 -
leetcode: Add Two Numbers
题目:You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the ...原创 2018-10-01 20:48:12 · 218 阅读 · 0 评论 -
leetcode: Two Sum
感受到了自己与大神的差距,同样的题,我的代码跑140ms,大神的只要4ms。题目:Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly o...原创 2018-10-01 21:30:25 · 223 阅读 · 0 评论 -
自己动手实现数据结构模板(1):双向链表
date: 2018-09-27 12:42:30+00:00原标题: 自己动手实现数据结构模板(1):双向链表原链接: https://www.dreamoftime0.com/2018/09/27/%e8%87%aa%e5%b7%b1%e5%8a%a8%e6%89%8b%e5%ae%9e%e7%8e%b0%e5%8f%8c%e5%90%91%e9%93%be%e8%a1%a8/今天忽然...原创 2018-10-01 21:41:00 · 331 阅读 · 0 评论 -
LeetCode: Brick Wall
date: 2018-09-27 04:06:50+00:00原标题: ‘LeetCode: Brick Wall’原链接: https://www.dreamoftime0.com/2018/09/27/leetcode-brick-wall/题目:There is a brick wall in front of you. The wall is rectangular and ha...原创 2018-10-01 21:42:06 · 371 阅读 · 0 评论 -
leetcode:Palindrome Number 回文数的判定
date: 2018-09-28 09:07:00+00:00原标题: leetcode:Palindrome Number 回文数的判定原链接: https://www.dreamoftime0.com/2018/09/28/leetcodepalindrome-number-%e5%9b%9e%e6%96%87%e6%95%b0%e7%9a%84%e5%88%a4%e5%ae%9a/题...原创 2018-10-01 21:42:49 · 1243 阅读 · 0 评论 -
自己动手实现数据结构模板(2):二叉树
date: 2018-09-29 07:37:40+00:00原标题: 自己动手实现数据结构模板(2):二叉树原链接: https://www.dreamoftime0.com/2018/09/29/%e8%87%aa%e5%b7%b1%e5%8a%a8%e6%89%8b%e5%ae%9e%e7%8e%b0%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84%e6%a8%...原创 2018-10-02 09:31:13 · 1209 阅读 · 0 评论 -
C++中 exception 的使用
std:: exception ,定义于头文件 <exception>,它提供一致的接口,以通过 throw 表达式处理错误。标准库所生成的所有异常继承自 std::exception。其继承结构如下:logic_errorinvalid_argument domain_error length_error out_of_range future_error(C+...原创 2018-09-05 22:15:41 · 12448 阅读 · 0 评论 -
stream中的常用操作符
在这里介绍了 stream 流操作中常用的操纵符。其中,前面带*表示为流的默认操纵符。适合的stream流包括:输入输出流(istream和ostream),文件流(fstream),字符串流(stringstream)等。注意:不是所有的操作符都适用于所有stream。 boolalpha 将true和false输出为字符串 * noboolalpha ...原创 2018-09-05 22:13:35 · 214 阅读 · 0 评论 -
linux环境下vscode 中C/C++编译及调试环境的搭建
0.确定安装了GCC,没有安装的话sudo apt-get install gcc1.下载vscode并安装,建议deb包2.打开vscode,安装扩展插件,其中C/C++为必装,提供C/C++支持Code Runner必装,提供编译后程序的运行环境C/C++ Snippets建议 提供一些常用的C/C++片段,如for(;;){},安装后写代码方便(tip.如果想要添加自己写的代码段可以点左下角...原创 2018-03-25 18:11:31 · 70406 阅读 · 0 评论 -
linux下vim以及部分vim常用插件的安装
远程的时候果然还是VIM最好用,直接用SSH连接就能用,VNC或者RDP果然刷新率还是太低了,当然在电脑上还是直接用IDE好了(0)先附上效果图Android的下的远程效果图(1)配置过程#如果没有vim当然要先安装,部分插件依赖于pythonsudo apt-get install vim#ctags,其他插件依赖该插件sudo apt-get install ...原创 2018-08-29 14:42:05 · 22191 阅读 · 1 评论 -
树莓派交换空间问题的解决
今天在树莓派编译一个较大的C项目时发现每次编译到43之后速度会特别慢并且死机,百度之后发现可能是交换空间不足,增加1G交换空间后才解决死机问题。树莓派3B默认的swap空间为99m,这对于编译一些大点的项目显然有点不够看,很容易就会死机,以下给出增加swap的解决方案在/opt/image中添加一块swap交换空间cd /optsudo mkdir imagecd images...转载 2018-04-10 20:37:44 · 2760 阅读 · 0 评论 -
GCC生成及调用动态库和静态库
说明:本文全部使用的cpp文件,如果要编译C库请将g++替换为gcc文件:reply.h,reply.cpp,test.cpp,主函数在test.cpp中(一)静态库的生成及使用1.生成.o目标文件g++ -c reply.cpp2.使用ar命令打包ar crv libreply.a reply.o #标注:reply为库名3.编译test.cpp g++ -o test.out test.c...转载 2018-03-28 21:14:27 · 2423 阅读 · 0 评论 -
makefile模板
文件结构.├── bin│ └── test.out├── include│ └── reply.h├── lib│ ├── libreply.a│ ├── libreply.so│ ├── makefile_a│ ├── makefile_so│ └── reply.cpp├── makefile└── test.cpp注:编译库时应根据需要将makefile_a或m...原创 2018-03-29 09:30:00 · 198 阅读 · 0 评论 -
linux下gcc的嵌入汇编
仅翻译部分常用,原文地址(Gcc手册)https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#Extended-Asm 0.格式asm [volatile] ( AssemblerTemplate : OutputOperands [ : InputOperands ...翻译 2018-05-05 12:41:02 · 375 阅读 · 0 评论 -
stream中的常用操作符
在这里介绍了 stream 流操作中常用的操纵符。其中,前面带*表示为流的默认操纵符。适合的stream流包括:输入输出流(istream和ostream),文件流(fstream),字符串流(stringstream)等。注意:不是所有的操作符都适用于所有stream。 boolalpha 将true和false输出为字符串 * noboolalpha ...原创 2018-08-29 14:25:03 · 1181 阅读 · 0 评论 -
C++ 中模板函数的默认参数的简单分析
C++中的 template 可以用来声明函数模板和类模板,讲到函数模板,就难免想到参数默认值。以下是几个例子,用来说明,template中参数默认值的使用。 按照最初的设想,直接在函数声明处给参数赋默认值。无法通过编译,会提示无法找到对应的函数声明。如例1。 发现是无法生成默认值对应的模板函数,给模板函数的类型也赋默认值后,能够正常生成形如void print(T, Ts&...原创 2018-08-29 14:27:02 · 2958 阅读 · 0 评论 -
C++中 operator 的两种使用方式
对于operator函数重载运算符,一般有两种定义方式:一种是以成员函数的形式定义,另一种在类外以友元函数的形式定义。示例:#include&amp;amp;lt;iostream&amp;amp;gt;using namespace std;class Position{ int x; int y; friend ostream&amp;amp;amp; operator&amp;amp;lt;&原创 2018-09-11 20:12:59 · 2237 阅读 · 0 评论 -
自己动手实现数据结构模板(3):栈和队列
date: 2018-09-29 10:11:25+00:00原标题: 自己动手实现数据结构模板(3):栈和队列原链接: https://www.dreamoftime0.com/2018/09/29/%e8%87%aa%e5%b7%b1%e5%8a%a8%e6%89%8b%e5%ae%9e%e7%8e%b0%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84%e6%a8...原创 2018-10-02 09:31:28 · 1232 阅读 · 0 评论