
C++
文章平均质量分 60
Feisy
more virtualization,more automation,more intelligent
展开
-
OdeInt与GPU
https://www.boost.org/doc/libs/1_55_0/libs/numeric/odeint/doc/html/boost_numeric_odeint/tutorial/using_cuda__or_openmp__tbb_______via_thrust.htmlModern graphic cards (graphic processing units - GPUs) can be used to speed up the performance of time consumin原创 2022-06-30 10:42:59 · 485 阅读 · 0 评论 -
Eigen实现matlab中的reshape
Eigen的reshape功能实现原创 2022-06-01 11:34:01 · 407 阅读 · 0 评论 -
gcc中的debug版本和release版本
结论:Gcc中并没有Release和debug版本之分,只有编译选项的组合大学时候使用VS开发,VS编译的程序是可以选debug或者release的,搞得我一直误以为使用gcc编译,也有这种区分。详细介绍1 优化参数 -Os的使用Note that gcc doesn’t have a “release mode” and a “debug mode” like MSVC does. All code is just code. The presence of the various optimi原创 2022-05-31 12:07:09 · 4551 阅读 · 0 评论 -
Eigen不同的方法来求矩阵的逆的效率
https://stackoverflow.com/questions/50909385/eigen-linear-solver-for-very-small-square-matrix矩阵的逆的问题,一般类似求解:Ax=b----------------->x = A-1b这里给出stackoverflow的一个关于这个求解的的效率的讨论:4x4矩阵的求逆测试讨论1 测试的方法以及种类I am using Eigen on a C++ program for solving linea原创 2022-05-27 14:42:21 · 5514 阅读 · 0 评论 -
Eigen 拼接不同大小的矩阵
原理:运用block接口拼接需求:D_c = [A, B’;B, zeros(m, m)];实现代码:Eigen::MatrixXd A = Eigen::MatrixXd::Zero(16, 16); for (int i = 0; i < A.rows(); ++i) { for (int j = 0; j < A.cols(); ++j) { A(i, j) = 0.1; } }原创 2022-05-26 19:10:58 · 1602 阅读 · 0 评论 -
诡异的The inferior stopped because it triggered an exception错误
问题描述一个很简单的函数:void do_print(const char *format_str,int arg){ std::map<std::string,std::string> data_map; char buff[102400]={0}; .... printf(format_str,arg);}这个函数引起了The inferior stopped because it triggered an exception错误,错误的提示里面还有 stack over原创 2022-01-04 15:24:07 · 4055 阅读 · 0 评论 -
关于C++中的# ##
文章目录使用注意先讲#再讲##使用注意微软的编译器,要求预处理器指令的符号必须是不是空格的行的第一个字符.#,##都是预处理器命令,所以不能随意在代码各个地方出现,比如,cout<<#test<<endl这样是不行的,会报“预处理器命令必须作为第一个非空白空间启动”目前一般用法是通过define来使用这两个符号#define STR(a) #a#define CONCAT(a,b) a##b先讲##这个预处理命令是将一个类型或变量或函数的名字转为字符串原创 2021-10-19 10:21:42 · 2484 阅读 · 1 评论 -
用于编译c++版本的SUNDIALS例子的cmake配置
# Set the minimum required cmake versioncmake_minimum_required(VERSION 3.5)project(main VERSION 0.1.0 LANGUAGES CXX C) set(PROJECT_NAME main)ADD_DEFINITIONS(-D_LINUX -D__LINUX__)set (CMAKE_C_FLAGS ${default_c_flags})set (CMAKE_CXX_FLAGS ${defaul.原创 2021-10-13 09:36:55 · 425 阅读 · 0 评论 -
VS中的__PRETTY_FUNCTION__报错的问题
https://stackoverflow.com/questions/48857887/pretty-function-in-visual-cThe Visual Studio uses theEdison Design GroupC++ Front End for the InteliSense, as explained in the Visual C++ Team Blog'sRebuilding Intellisenseandhere, and not the Microso...原创 2021-08-27 16:26:48 · 1296 阅读 · 0 评论 -
linux c++ 函数需要返回值,但是没返回的问题
std::string fun(){ //没有返回}如果定义是这样的格式,需要返回std::string,但是函数内部没有返回任何东西,这种情况下,编译只有warning没有报错,但是如果去访问接受函数返回值的那个变量的话,是会导致程序core原创 2013-12-05 14:59:16 · 1160 阅读 · 0 评论 -
不要将两个指针变量指向同一块动态内存
不要将两个指针变量指向同一块动态内存。这个容易引起很严重的问题。如果将两个指针变量指向同一块动态内存,而其中一个生命期结束释放了该动态内存,这个时候就会出现问题,另一个指针所指向的地址虽然被释放了但该指针并不等于NULL,这就是所谓的悬垂指针错误,这种错误很难被察觉,而且非常严重,因为这时该指针的值是随机的,可能指向一个系统内存而导致程序崩溃。但也就是因为值是随机的,所以运行程序时有时正常有时崩溃原创 2013-12-04 10:26:53 · 5637 阅读 · 1 评论 -
文件的I/O c++
from http://wanglimin2004.blog.163.com/blog/static/115488498201203131150203/1. 简介 C++标准库有丰富的管理磁盘文件的I/O类。这些类构成了一个类的层次结构,它有一个通用的顶层基类和一些底层的具体的派生类,这些派生类可以通过流保存和加载各种磁盘文件数据。所谓的“流”是一系列字节,它可以从转载 2013-12-11 15:37:30 · 785 阅读 · 0 评论 -
valgrind介绍、使用、报错分析及原理使用
from http://hi.baidu.com/xpy98/item/bb0d5453cfb0fe16abf6d71b一、valgrind介绍Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CP转载 2013-11-29 11:56:25 · 15642 阅读 · 0 评论 -
C/C++中的i18n(wcstombs和mbstowcs使用)
from :http://aleung.blogbus.com/logs/242357.htmlmbs: multi byte string, 用char作为存储类型, 一个字符可能对应1个或者多个char, 不能直接确定字符边界. charset不确定. 过去的程序都是采用mbs的.wcs: wide character string, 用wchar_t作为存储类转载 2013-11-15 13:14:53 · 1486 阅读 · 0 评论 -
Linux下编码转换(iconv函数族)
转自:http://www.linuxdiyf.com/viewarticle.php?id=45164在Linux上进行编码转换时,既可以利用iconv函数族编程实现,也可以利用iconv命令来实现(针对文件进行转换) 一、利用iconv函数族进行编码转换 iconv函数族的头文件是iconv.h使用前需包含之:#include iconv函数族有三个函数转载 2013-11-15 13:41:46 · 822 阅读 · 0 评论 -
windows ASCII,UTF-8,Unicode字符串相互转换
from http://blog.youkuaiyun.com/sjy88813/article/details/6662879 #include#include#includeusing namespace std;//utf8 转 Unicodestd::wstring Utf82Unicode(const std::string& utf8string)转载 2013-11-19 16:35:57 · 9229 阅读 · 1 评论 -
编码杂谈
下面一段话摘抄自维基百科(维基百科的内容果然不是百度能比的)大概来说,Unicode编码系统可分为编码方式和实现方式两个层次。编码方式统一码的编码方式与ISO 10646的通用字符集概念相对应。目前实际应用的统一码版本对应于UCS-2,使用16位的编码空间。也就是每个字符占用2个字节。这样理论上一共最多可以表示216(即65536)个字符。基本满足各种语言的使用。实际上当前版本原创 2013-11-20 10:37:00 · 869 阅读 · 0 评论 -
一 如何合适处理程序的异常
关于函数可能抛出的异常的一些声明void f() throw() 表示f不允许抛出任何异常,即f是异常安全的。void f() throw(...) 表示f可以抛出任何形式的异常。void f() throw(exceptionType); 表示f只能抛出exceptionType类型的异常。声明一个不抛出异常的函数后,你有责任保证在你的函数的实现里面不会抛出异常。原创 2013-11-13 17:01:02 · 917 阅读 · 0 评论 -
C++异常机制的实现方式和开销分析
from http://baiy.cn/doc/cpp/inside_exception.htm在我几年前开始写《C++编码规范与指导》一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了。没想到时隔几年以后才有机会把这个尾巴补完 :-)。还是那句开场白:“在恰当的场合使用恰当的特性” 对每个称职的 C++ 程序员来说都是一个基本标准。想要做到这点,就必须要了解语言中每转载 2013-11-13 16:39:52 · 661 阅读 · 0 评论 -
std::bind的一个例子
//============================================================================// Name : test.cpp// Author : tes// Version :// Copyright : Your copyright notice// Description : H转载 2013-11-14 10:02:41 · 3190 阅读 · 0 评论 -
如何用eclipse开发有c++11新特性的C++程序
要右键->property->c/C++build->Setting,把Cross GCC Compiler以及其他几个编译器的Miscellaneous中的Other flags 加上 -std=c++11选项,才能编译通过原创 2013-11-14 10:07:35 · 640 阅读 · 0 评论 -
Google C++开源项目风格指南
http://zh-google-styleguide.readthedocs.org/en/latest/google-cpp-styleguide/others/原创 2013-11-13 17:08:04 · 931 阅读 · 0 评论 -
关于std::string.length() std::string.size()
eclipse的代码提示获取到的描述: /// Returns the number of characters in the string, not including any /// null-termination.意思大概是返回字符串的字符个数,不包括结束符我的系统的ubuntu13.04,系统设置的编码如下:LANG=zh_CN.UTF-8LA原创 2013-11-15 10:55:49 · 6725 阅读 · 0 评论 -
常用c函数收集
1 strstr: The strstr() function finds the first occurrence of the substring needle in the string haystack. The terminating null bytes ('\0') are not compared. The strcasestr() functio原创 2013-11-15 11:28:28 · 896 阅读 · 0 评论