
编程知识
文章平均质量分 74
haima1998
这个作者很懒,什么都没留下…
展开
-
一文弄懂 Gitflow、Github flow、Gitlab flow 的工作流
转自:一文弄懂 Gitflow、Github flow、Gitlab flow 的工作流 - 云+社区 - 腾讯云Git Flow 的正确使用姿势 - 简书Git 作为一个源码管理系统,不可避免涉及到多人协作。协作必须有一个规范的工作流程,让大家有效地合作,使得项目井井有条地发展下去。”工作流程”在英语里,叫做”workflow”或者”flow”,原意是水流,比喻项目像水流那样,顺畅、自然地向前流动,不会发生冲击、对撞、甚至漩涡。本文介绍三种广泛使用的工作流程:Git flow转载 2021-09-16 14:08:27 · 701 阅读 · 0 评论 -
在C++中使用openmp进行多线程编程
转自:https://blog.youkuaiyun.com/acaiwlj/article/details/49818965转载 2021-06-01 14:48:58 · 2013 阅读 · 0 评论 -
在C++中使用openmp进行多线程编程
转自:https://blog.youkuaiyun.com/acaiwlj/article/details/49818965声明:本文是基于Joel Yliluoma写的Guid into OpenMP:Easy multithreading programming for C++而写的,基本是按照自己的理解,用自己语言组织的。其中大部分例子依然用原来文章的例子,本文仅作为学习笔记之用。前言多线程在实际的编程中的重要性不言而喻。对于C++而言,当我们需要使用多线程时,可以使用boost::thread库或者自转载 2021-03-24 14:35:37 · 1707 阅读 · 0 评论 -
unique_ptr的使用和陷阱
转自:https://blog.youkuaiyun.com/qq_33266987/article/details/78784286unique_ptr的使用分配内存与shared_ptr不同,unique_ptr没有定义类似make_shared的操作,因此只可以使用new来分配内存,并且由于unique_ptr不可拷贝和赋值,初始化unique_ptr必须使用直接初始化的方式。 unique_ptr<int> up1(new int()); //okay,直接初始化 .转载 2021-02-26 09:42:02 · 478 阅读 · 0 评论 -
智能指针auto_ptr、unique_ptr、shared_ptr区别
转自:https://zhuanlan.zhihu.com/p/63890916模板auto_ptr是C++98提供的解决方案,C++11已摒弃。模板unique_ptr、shared_ptr是C++11提供的解决方案.为什么要摒弃auto_ptr呢?先来看下面的赋值语句:auto_ptr<string> ps(new string("I am a boy."));auto_ptr<stirng> vocation;vocation = ps;上述赋值语转载 2021-02-26 09:32:54 · 348 阅读 · 1 评论 -
linux下把进程/线程绑定到特定cpu核上运行
转自:https://blog.youkuaiyun.com/guotianqing/article/details/80958281概述现在大家使用的基本上都是多核cpu,一般是4核的。平时应用程序在运行时都是由操作系统管理的。操作系统对应用进程进行调度,使其在不同的核上轮番运行。对于普通的应用,操作系统的默认调度机制是没有问题的。但是,当某个进程需要较高的运行效率时,就有必要考虑将其绑定到单独的核上运行,以减小由于在不同的核上调度造成的开销。把某个进程/线程绑定到特定的cpu核上后,该进程就会一直在转载 2021-02-25 09:20:35 · 317 阅读 · 0 评论 -
简述 LLVM 与 Clang 及其关系
转自:https://blog.youkuaiyun.com/xhhjin/article/details/81164076随着 Android P 的逐步应用,越来越多的客户要求编译库时用 libc++ 来代替 libstdc++。libc++ 和 libstdc++ 这两个库有关系呢?它们两个都是 C++ 标准库,libc++ 是针对 Clang 编译器特别重写的 C++ 标准库,而 libstdc++ 则是 GCC 的对应 C++ 标准库了。从 Android 市场来说,Android NDK 已在具体应用中转载 2021-02-20 13:54:41 · 423 阅读 · 0 评论 -
NDK C++支持 libc++_static和 GNU libstdc++ 和 STLport
转自:https://developer.android.com/ndk/guides/cpp-support?hl=zh-cnC++ 库支持NDK 支持多种 C++ 运行时库。本文档介绍了这些库的相关信息、所涉及的折衷做法以及库的使用方法。C++ 运行时库表 1.NDK C++ 运行时和功能。名称 功能 libc++ 现代 C++ 支持。 system new和delete。(在 r18 中已弃用。) none 无头文件,有限 C++。 ...转载 2021-02-20 11:30:01 · 3747 阅读 · 0 评论 -
nm命令中符号类型详解
转自:https://blog.youkuaiyun.com/wvtear/article/details/50016285nm命令介绍的很多,但大多不介绍其函数符号标志的含义。最近在调试动态库时常用到,其中用的最多的用法:nm -A * |grep “aaa” | c++filt // -A 为了显示文件, c++filt转换为可读风格,好像有个参数也能实现类似功能其他内容整理如下(原作者未知):nm用于列出目标文件的符号清单,如果没有指定目标文件,则默认为“a.out”。nm的格式如下:nm.转载 2021-02-19 11:27:23 · 967 阅读 · 0 评论 -
C++学习笔记03-智能指针(shared_ptr,unique_ptr)和动态分配的数组
转自:https://blog.youkuaiyun.com/weixin_46028606/article/details/106956593一,内存静态内存,栈内存,堆内存①静态内存存储局部static对象和类的static对象以及定义在任何函数之外的变量②栈内存栈内存用于保存定义在函数体内非static对象。③堆内存运行需要创建时,才申请的内存空间,只有当程序结束时,才回收,也就是说我们如果不需要这个对象时,我们必须手动释放这块内存空间,否则造成内存泄漏④智能指针①智能指针转载 2021-02-18 10:33:08 · 852 阅读 · 0 评论 -
C++智能指针unique_ptr详解
转自:http://c.biancheng.net/view/1478.html在一个大型程序中,指向动态分配内存的指针可能会在程序的各个部分使用。在这种情况下,确定哪些内存不再需要,或者程序的哪个部分应该负责删除指针就变得比较困难。程序可能会因此出现悬挂指针,也就是说,指针已经被删除了,但其内存仍然在使用中;还可能出现内存泄漏,也就是说,即使已经不再需要内存了,但指针仍然未被删除。另外还有双重删除的问题,当程序的某 部分要删除一个已经被删除的指针时,即可出现这种情况。如果被删除的内存已经进行了重新分转载 2020-12-29 16:12:53 · 471 阅读 · 0 评论 -
理解CPU/寄存器/内存之间的关系
转自:https://blog.youkuaiyun.com/qq_27689785/article/details/82975575CPU/寄存器/内存 因为要了解多线程,自然少不了一些硬件知识的科普,我没有系统学习过硬件知识,仅仅是从书上以及网络上看来的,如果有错误请指出来。 CPU,全名Central Processing Unit(中央处理器)。这是一块超大规模的集成电路,包含上亿的晶体管,是一台计算机的运算核心(Core)和控制核心(ControlUnit)。它的功能主要是解释计算机指令以及处转载 2020-11-14 11:09:21 · 1413 阅读 · 0 评论 -
广度/宽度优先搜索(BFS)
转自:https://blog.youkuaiyun.com/raphealguo/article/details/75234111.前言广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历策略。因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,故得名。一般可以用它做什么呢?一个最直观经典的例子就是走迷宫,我们从起点开始,找出到终点的最短路程,很多最短路径算法就是基于广度优先的思想成立的。算法导论里边会给出不少严格的证明,我想尽量写得通俗一点,因此采用一.转载 2020-10-15 11:30:40 · 1003 阅读 · 0 评论 -
CMakeLists.txt 中设置warnings as errors,可以发现内存越界问题
CMakeLists.txt 中设置warnings as errors,可以发现内存越界问题set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") #treating warnings as errors char tmpstr[30]; frameId++; sprintf(tmpstr, "/data1/XXXXXXXXX/tmp/detect_%d.jpg", frameId...原创 2020-10-07 16:05:50 · 2016 阅读 · 0 评论 -
详解git fetch与git pull的区别
转自:https://blog.youkuaiyun.com/riddle1981/article/details/74938111git fetch和git pull都可以将远端仓库更新至本地那么他们之间有何区别?想要弄清楚这个问题有有几个概念不得不提。FETCH_HEAD: 是一个版本链接,记录在本地的一个文件中,指向着目前已经从远程仓库取下来的分支的末端版本。 commit-id:在每次本地工作完成后,...转载 2018-07-08 18:18:42 · 281 阅读 · 0 评论 -
C++ STL之vector用法总结
转自:https://www.cnblogs.com/zhonghuasong/p/5975979.html介绍vector是表示可变大小数组的序列容器。就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。本质讲,vector使用动态分配数组来存储它的...转载 2018-07-15 16:52:48 · 201 阅读 · 0 评论 -
C++11的时间新特性之high_resolution_clock
转自:https://blog.youkuaiyun.com/cw_hello1/article/details/66476290我在这里只是说一说high_resolution_clock的时间用法:这里有一个C++的网上的API地址,包含了C++11的新特性。http://www.cplusplus.com/reference/只要了解两个主要内容就可以打印出我们想要的时间单位。(秒,毫秒,微...转载 2018-09-16 16:52:11 · 11668 阅读 · 1 评论 -
浅谈Mysql和Redis区别
转自:https://blog.youkuaiyun.com/xiamuyzh_ipython/article/details/81151887Mysql和Resdis是个经典的问题了,这次来表达一下我对其的理解。Redis是属于内存数据库,所有的数据都储存在内存中,所以执行增删改查等操作运行速度比Mysql相比快速很多,而且支持的数据类型也较全面,支持字符串,列表,hash,集合等。但是由于数据是保...转载 2019-07-14 15:49:11 · 193 阅读 · 0 评论 -
mongodb,redis,hbase 三者都是nosql数据库,他们的最大区别和不同定位是什么?
转自:https://www.zhihu.com/question/302196201.关于NoSQL比较赞同楼上的回答NoSQL is Not Only SQLNoSQL的粗线的背景大概是因为随着数据量的扩大,在一些对数据集的分析中,传统的关系型数据库的计算成本变得很大。NoSQL凭借着它高大上的“易扩展、大数据、高可用、高性能、灵活性”,强势登场。2.关于NoSQL的种类作者...转载 2019-07-14 15:58:17 · 363 阅读 · 0 评论 -
R与SPSS、SAS相比较_Python 在数据分析工作中的地位与R语言、SAS、SPSS 比较如何?
转自:http://m.elecfans.com/article/611407.html统计分析的软件和程序分析 能够用来做统计分析的软件和程序很多,目前应用比较广泛的包括:SPSS, SAS、R语言,Matlab,S-PLUS,S-Miner等。下面我们来看一下各应用的特点:SPSS: 最简单的,都是菜单操作,不过不利于二次程序开发。SAS: 需要购买,该...转载 2019-07-14 18:15:52 · 4996 阅读 · 0 评论 -
Git撤销&回滚操作
转自:https://blog.youkuaiyun.com/ligang2585116/article/details/71094887开发过程中,你肯定会遇到这样的场景:场景一:糟了,我刚把不想要的代码,commit到本地仓库中了,但是还没有做push操作!场景二:彻底完了,刚线上更新的代码出现问题了,需要还原这次提交的代码!场景三:刚才我发现之前的某次提交太愚蠢了,现在想要干掉它!撤销上述场景一,在未进...转载 2018-07-08 11:45:15 · 324 阅读 · 0 评论 -
C++:线程(std::thread)
转自:https://www.cnblogs.com/whlook/p/6573659.html1.创建一个线程 创建线程比较简单,使用std的thread实例化一个线程对象就创建完成了,示例: 1 #include <iostream> 2 #include <thread> 3 using namespace std; 4 5 void t1() //普通...转载 2018-06-30 13:51:53 · 406 阅读 · 0 评论 -
linux shell 编程
转自:http://blog.youkuaiyun.com/fpmystar/article/details/4183678和 http://blog.youkuaiyun.com/buutterfly/article/details/6615162转载 2014-10-16 23:08:33 · 662 阅读 · 0 评论 -
解决Eclipse中文乱码
转自:http://hsj69106.blog.51cto.com/1017401/595598使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码 格式解决乱码问题。在Eclipse可以从几个层面设置编码格式:Workspace、Project、Content Type、File 本文以Eclip转载 2014-10-12 22:29:55 · 510 阅读 · 0 评论 -
使用iconv命令轻松实现linux下字符集编码的转换
转自:http://qq164587043.blog.51cto.com/261469/63349/转载 2014-09-04 23:03:35 · 524 阅读 · 0 评论 -
深入理解java异常处理机制
转自:http://blog.youkuaiyun.com/hguisu/article/details/6155636 1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执转载 2014-09-18 23:29:59 · 533 阅读 · 0 评论 -
so库的反编译,反汇编
Linux APP,SO的反汇编工具, ida Pro,可以反汇编app和SO库,有函数名,但是不能反编译到code这一级别。下载最强的反编译工具 ida Pro 6.4 Plus.rar 还有这个反汇编工具,没用过,转自:http://bbs.pediy.com/showthread.php?t=163511Hopper是一款运行在Mac、Windows和Linux下的调转载 2013-12-11 14:11:39 · 36205 阅读 · 1 评论 -
宏定义中使用do{}while(0)的好处
转自:http://blog.youkuaiyun.com/liliangbao/article/details/4163440#define MACRO_NAME(para) do{macro content}while(0)的格式,总结了以下几个原因:1,空的宏定义避免warning:#define foo() do{}while(0)2,存在一个独转载 2013-12-09 17:14:01 · 614 阅读 · 0 评论 -
如何保护Java程序 防止Java反编译
转自:http://blog.youkuaiyun.com/dracotianlong/article/details/7915259常用的保护技术 由于Java字节码的抽象级别较高,因此它们较容易被反编译。本节介绍了几种常用的方法,用于保护Java字节码不被反编译。通常,这些方法不能够绝对防止程序被反编译,而是加大反编译的难度而已,因为这些方法都有自己的使用环境和弱点。转载 2013-11-18 18:14:29 · 878 阅读 · 0 评论 -
C++中的虚函数和纯虚函数,接口
C++中,我们定义接口类,一般都是抽象类,包含纯虚函数。 摘要:虚函数里面有一个很特殊的东东,那就是纯虚函数,关于纯虚函数的问题也是bbs上常见的话题,这里我想对此作一个小小的论述,希望能给初学者一个满意的解释。 一、引入原因: 1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。 2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以原创 2013-08-13 11:20:05 · 701 阅读 · 0 评论 -
Linux System Errors code
转自:http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/unix_system_errors.htmlWhen system requests fail, error code are returned. To understand the nature of the error these转载 2016-04-06 15:51:54 · 506 阅读 · 0 评论 -
Thread Local Storage---__thread 关键字的使用方法
转自:http://blog.youkuaiyun.com/yusiguyuan/article/details/22938671 __thread是GCC内置的线程局部存储设施,存取效率可以和全局变量相比。__thread变量每一个线程有一份独立实体,各个线程的值互不干扰。可以用来修饰那些带有全局性且值可能变,但是又不值得用全局变量保护的变量。 __thread使用规则:只能修饰P转载 2016-06-27 19:07:01 · 1237 阅读 · 0 评论 -
使用 GNU Libtool 创建库
转自:https://www.ibm.com/developerworks/cn/aix/library/1007_wuxh_libtool/介绍在不同的系统中建立动态链接库的方法有很大的差别,这主要是因为每个系统对动态链接库的看法和实现并不相同,以及编译器对动态链接库支持的选项也不太一样。对于开发人员,如果尝试将使用动态库的软件在这些系统之间移植,需要参考枯涩难懂的系转载 2016-07-12 16:58:08 · 531 阅读 · 0 评论 -
Git 在团队中的最佳实践--如何正确使用Git Flow
转自:https://www.cnblogs.com/cnblogsfans/p/5075073.html我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用。Git的优点Git的优点很多,但是这里只列出我认为非常突出的几点。由于是分布式,所有本地库包含了远程库的所有内容。优秀的分支模型,打分支以及合并分支...转载 2018-06-18 15:33:31 · 213 阅读 · 0 评论 -
boost::bind 详解
转自:https://www.cnblogs.com/benxintuzi/p/4862129.htmlboost::bind是标准库函数std::bind1st和std::bind2nd的一种泛化形式。其可以支持函数对象、函数、函数指针、成员函数指针,并且绑定任意参数到某个指定值上或者将输入参数传入任意位置。1. 通过functions和function pointers使用bind给定如下函数...转载 2018-06-02 15:28:37 · 1435 阅读 · 0 评论 -
初探c++11之for循环篇
转自:https://www.cnblogs.com/l00l/archive/2012/02/03/2337557.html在很多语言中都有类似foreach之类的循环关键字。在C++11中,也添加了类似的语言特性。不过,这里首先说一句,在STL已经有类似的东西,std::for_each,感兴趣可以自己查一下,这里不赘述。 首先,给出一个参考文档http://www.open-std.org/...转载 2018-06-09 11:56:01 · 677 阅读 · 0 评论 -
C++智能指针简单剖析
转自:https://www.cnblogs.com/lanxuezaipiao/p/4132096.html导读最近在补看《C++ Primer Plus》第六版,这的确是本好书,其中关于智能指针的章节解析的非常清晰,一解我以前的多处困惑。C++面试过程中,很多面试官都喜欢问智能指针相关的问题,比如你知道哪些智能指针?shared_ptr的设计原理是什么?如果让你自己设计一个智能指针,你如何完成...转载 2018-05-27 21:41:32 · 158 阅读 · 0 评论 -
Source Insight 中文注释为乱码解决办法(完美解决,一键搞定)
转子:http://blog.youkuaiyun.com/bjarnecpp/article/details/70174752Source Insight中文注释为乱码解决办法我网上查了一堆解决办法,但是都是2017年以前的,并且都是针对于source insight 3.5及以下版本的解决方案,软件版本都到4.0了,应该有新方法出现。——————————————————转载 2017-11-21 11:47:59 · 1995 阅读 · 1 评论 -
开源软件许可证—GPL、AGPL、LGPL、Apache、ZLIB/LIBPNG、MIT
转自:http://www.dushibaiyu.com/2013/08/%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6%E8%AE%B8%E5%8F%AF%E8%AF%81-gpl%E3%80%81agpl%E3%80%81lgpl%E3%80%81apache%E3%80%81zliblibpng%E3%80%81mit.html原文地址:http转载 2017-11-01 14:31:33 · 1560 阅读 · 0 评论 -
Python 中 import 的机制与实现
转自:http://python.jobbole.com/82604/、本文所涉及到的代码在github上。概述Python 是一门优美简单、功能强大的动态语言。在刚刚接触这门语言时,我们会被其优美的格式、简洁的语法和无穷无尽的类库所震撼。在真正的将python应用到实际的项目中,你会遇到一些无法避免的问题。最让人困惑不解的问题有二类,一个 编码问题,另一个则是引用问题转载 2017-07-20 20:33:45 · 707 阅读 · 0 评论