4 huatian5

尚未进行身份认证

run

等级
TA的排名 5k+

文件读写与字符串替换

前段时间写了个 py 脚本,替换目录中所有文件中的字符串,但是会出现问题,如果用短字符串替换长字符串就会出现最后出现一些原有文件的遗留,原来文件内容不会清除,而是以覆盖的形式替换,查了下有 truncate(size) 函数,用以从首字节开始截断 size 大小(默认截断所有),就解决了。#!/usr/bin/env python3import osimport sysimport ar...

2019-10-27 20:00:19

C++ 的枚举 enum

C++ 的枚举 enum,用来在有限的范围定义明确命名的常量,通常值是整数类型。每个枚举项都与一个底层类型常量值对应,如果未指明,第一项为 0,其他项均为前一项 +1。enum Color { blue, // 0 green, // 1 red = 6, gray, // 7};有两种风格的枚举型别,C++98 风格的枚举型别和 C++11 风格的型别,两者有很大区别,通常来说后...

2019-10-13 22:50:09

python2 升级 python3 的一些变化

sort 和 sortedpython2sort(cmp = _ _cmp_ _ (), key = None, reverse = False)cmp 参数为响应的比较函数,未指定默认调用 _ cmp _ ()(Should return a negative integer if self < other, zero if self == other, a positive...

2019-09-29 21:40:53

Python 用法小结

一、指定解释器#!/usr/bin/python调用 /usr/bin/ 下的 python 解释器#!/usr/bin/env python自动去寻找 python 解释器(防止没有安装到 /usr/bin/ 目录的情况)二、限制版本if not sys.version_info[0] == 3: sys.exit(“only support python 3”)三、...

2019-08-15 21:28:09

cuda 编程初探

cuda 编程可以通过 C/C++ 使用 GPU,使用 cuda 编程首先确保要有 cuda 环境,但是使用时不能直接操作 gpu 数据,只能得到 gpu 上的一个指针,再把数据拷贝到对应位置。具体使用使用 cmake 构建项目可以使用宏#ifdef USE_CUDA#endif添加头文件#ifdef USE_CUDA#include "cuda_runtime.h"#endi...

2019-07-21 16:18:54

Mac 使用 Android 机器(adb)

1.Mac 安装好 adb 以后,使用 adb device 查看设备。2.然后可以使用 adb shell 登录,但是几乎没有权限,所以登录前先 adb root3.在 /data 目录下创建自己的文件夹4.使用 adb push 将文件传入设备,然后就可以 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/my_dir 指定 run code 了...

2019-07-05 19:32:28

一种跨平台的C/C++动态库的符号隐藏方式

源地址:http://blog.guorongfei.com/2018/04/11/symbol-visibility/ <h1 id="什么是符号隐藏"><a href="#什么是符号隐藏" class="headerlink" title="什么是符号隐藏"></a>什么是符号隐藏</h1><p>在同一个文件中,如果有一些函...

2019-07-05 14:31:47

大学生活结束啦!

高中的热血生活结束,仅仅依靠兴趣选择了报考本校的计算机科学与技术专业,温热的九月来到了青岛理工大学。时间如黄河一般湍急,马上就要把我从清澈的河床送入浑浊复杂的流域,回想四年的大学生活,有开心振奋,也有孤独悲伤,大学作为我们走向社会的摆渡船,必然会在人生中留下深刻的痕迹。大一懵懵懂懂的参加了军训,遇见了一群令人难忘的同学们,有同班的也有不同班的,相同的是都要经过烈日的嘲笑。然后一群严厉外加些幽默的...

2019-06-18 11:51:53

《程序员的自我修养—链接、装载与库》 目标文件

可执行文件(目标文件)的格式:在 Windows 下都按照 PE-COFF 格式存储,Linux 下按照 ELF 格式存储。程序源代码被编译后主要分为两种段:程序指令和程序数据。代码段属于程序指令,而数据段和 .bss 段属于数据段。.data 段保存的是已经初始化了的全局变量和局部静态变量。.rodata 段保存的是只读数据,一般是程序里面的只读变量和字符串常量。.bss 段保存的...

2019-04-29 22:05:48

实习经历总结

七月份来到了北京 mmt 实习,充满了对于新东西的向往,进来后发现原来大佬们是那么的强,自己是那么的弱渣。而且有很多东西是自己接触过的但没有练习的,比如 Git,当初自己用过 Github 但是仅仅受限于客户端(自己乱搞不关注哪个更实用),所以 Git 命令很不熟悉,后来有恶补了很久;还有 Linux,装了个 Ubuntu 但是乱搞了一段时间没找到方便实用的地方(只用 IDE 的坏处),在某次修电...

2019-03-31 12:27:08

Windows10 使用 Visual Studio Code

安装 vscodehttps://code.visualstudio.com/安装 mingwhttps://sourceforge.net/projects/mingw-w64/添加环境变量 PathC:\Program Files (x86)\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin安装插件 Code Runn...

2019-03-17 23:14:07

《程序员的自我修养—链接、装载与库》 多线程相关

线程安全竞争与原子操作同步与锁:二元信号量(Semaphore)互斥量(Mutex)临界区(Critical Section)读写锁(Read-Write Lock)一个函数被重入的两种情况:多个线程同时执行这个函数;函数自身调用自身;可重入函数的特点:不使用任何(局部)静态或全局的非 const 变量;不使用任何(局部)静态或全局的非 co...

2019-03-10 16:42:07

Linux 切换进程执行的 CPU

Linux CPU物理 CPU:cat /proc/cpuinfo | grep 'physical id' | uniq核心:cat /proc/cpuinfo | grep 'core id' | sort | uniq逻辑 CPU:cat /proc/cpuinfo | grep 'processor'tasksettaskset --helpUsage: taskset [o...

2019-03-09 13:51:14

vector 存储指针

当 vector 存储指针时,释放内存应该对每个元素进行 delete,然后 clear(),将容器元素清空#include <stdio.h>#include <stdlib.h>#include <iostream>#include <string>#include <set>

2019-03-05 17:13:29

《Effective STL》 读书笔记

Effective STL剥离向基类对象的容器中插入派生类对象,派生类对象独有的特性会丢失empty检查容器是否为空用empty而不是size善于使用区间成员函数(assign,etc)v1.assign(v2.begin() + v2.size()/2, v2.end())16.将vector和string传给旧的API(c api)vector元素是连续存储在内存中的if (...

2019-02-21 21:26:48

CMake 学习

输出屏幕:message()用来输出信息foreach循环使用:set (NUM 1 2 3)foreach(i ${NUM})message("PPPP")endforeach(i)带RANGEset(NUM 5)foreach(i RANGE ${NUM})message("SSSS")endforeach(i)macro宏:macro(hello HELLO)me...

2019-01-23 21:31:51

Vue 项目部署到阿里云服务器(Nginx 代理)

1.本地打包首先,要将本地config/index.js中的assetsPublicPath:'/',改为assetsPublicPath:'./',,否则在会导致部署后网页无法显示然后cnpmrunbuild打包生成dist文件夹2.安装Nginx安装epel(为CentOS、ScientificLinux提供高质量软件开发包)yum-yin...

2019-01-06 11:18:55

C++ std::tuple

std::tuple是一个可以支持参数集的类模板std::make_tuple 创建一个 tuplestd::tie 创建一个左值引用的 tuplestd::get 获取参数集合某个位置的参数tuple_size 获取参数集数目示例:/*static_assert(表达式, 输出的附加信息)对表达式进行编译时的检查is_constructible<class T, ...

2018-12-17 13:29:59

C clock() 与 C++ std::chrono::time_point()

clock 函数首先 clock 函数不是精确的时间函数计算的是耗费在当前程序上的时间片数,若有其他进程共享 CPU(多核),计算会包括其他进程的时间片,导致时间过长std::chrono::time_point表示一个时间点然后可以用 std::chrono::duration_cast<>() 来获取时间...

2018-12-17 13:28:12

C++ static_assert

static_assert(表达式, 输出的附加信息)对表达式进行编译时的检查is_constructible<class T, class ... Args> 能否用Args初始化Tis_trivially_constructible<class T, class ... Args> 能否用Args平凡地初始化T(std::declval 的调用被认为是平凡的)i...

2018-12-12 10:58:23

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。