随笔分类 - 语言/编程框架
主要包含c/c++ 、python、matlab等语言语法特性以及cuda等编程框架的介绍
摘要:0 引言 《C和指针》中对&操作符,*操作符和const修饰词有一些基本的介绍,这些介绍精确戳中了其本质含义,对于涉及到这些操作符的语法的理解很有帮助。因此写作这篇博文帮助后续的理解。 reference: 《C和指针》 https://stackoverflow.com/questions/314
阅读全文
摘要:0 引言 智能指针通过引用计数(reference count)的方式来自动化/智能化管理内存,可以大大提高应用程序的灵活性,降低系统的复杂度。 在软件的重构中,考虑用智能指针来替代手动的new/delete 方式是值得探索的。 smart pointer is an object that hel
阅读全文
摘要:0 引言 关于组合/继承设计模式的讨论,及其在大型软件架构中的实际应用,是一个值得探讨的问题。 1 组合/继承的适用场景探讨及其区别 2 如果利用组合/继承各自的优缺点解决大型软件的架构问题 3 结论
阅读全文
摘要:0 引言 const is widely used in C++, this blog will record common usage of const. Including: const values(number variable, string variable, stl variable,
阅读全文
摘要:static variable can only be initialized once. Compiler persist the variable till the end of the program. Eg: #include <iostream> int* a = NULL; void m
阅读全文
摘要:#include <stdio.h>#include <unistd.h> ///< unlink#include <iostream>#include <glob.h> ///< glob using namespace std; void TestUnlink() { int a = unlin
阅读全文
摘要:0 引言 lua是一种语法极为灵活、扩展性极强的“胶水语言”, 在使用lua/lua capi时常常会写出一些容易出错的code. 因此,有必要建立以lua vm为基础的unit test帮助程序员及早地发现bug,提高代码的质量。为此,有三件事情需要做。 1 编译配置googletest/goog
阅读全文
摘要:0 引言 matlab中有些东西记录一下 1 matlab coder matlab命令行窗口输入: 回车即可打开matlab coder 窗口。接着,matlab将引导你把matlab格式的function改成c/c++ 风格。 2 matlab基本操作 (1) x(:) 将矩阵转化为列向量,一列
阅读全文
摘要:0 引言 由于毕设用到了Marvin,采用的是CUDA框架作为加速器,正好借此学习一下CUDA编程的一些基本知识。 各个版本的cuda的下载链接如下。 ubuntu 下cuda与cudnn安装 1 GPU编程 参照了该博客,写得确实是非常之好,从硬件到软件,再到代码实现,由浅入深,由理论到实践,水平
阅读全文
摘要:0 引言 Marvin是普林斯顿视觉实验室(PrincetonVision)于2015年提出的轻量化GPU加速的多维深度学习网络框架。该框架采用纯c/c++编写,除了cuda和cudnn以外,不依赖其他库,编译非常简单,功能也相当强大,用于深度神经网络的快速原型开发非常好用。缺点在于没有提供API,
阅读全文
摘要:0 引言 之前用python跑过深度学习的代码,用过一段时间的jupiter和tensorflow;最近在Ubuntu下搭建起了VSCode + Anaconda的python开发环境,感觉很好用,尤其是用来做算法验证简直舒服得一匹。遂单独开一贴,记录一下python学习与使用中的一些好玩的点。 1
阅读全文