![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 59
进击的码力
这个作者很懒,什么都没留下…
展开
-
libfftw3.a(assert.o): relocation R_X86_64_PC32 against symbol xxx when making a shared object; rec
Consolidate compiler generated dependencies of target helmholtz_3d_hffmm_mex[ 92%] Linking CXX shared library helmholtz_3d_hffmm_mex.mexa64/usr/bin/ld: /usr/local/lib/libfftw3.a(assert.o): relocation R_X86_64_PC32 against symbol `stdout@@GLIBC_2.2.5' can原创 2022-05-05 21:02:11 · 536 阅读 · 0 评论 -
CMake:Tutorial-Step2
Step2 :Adding a Library (添加一个库)在工程里添加一个库。现在的工程结构如下:+我们目的是将MathFunctions/文件夹内的头文件MathFunctions.h和源代码mysqrt.cxx编译成一个库,外部的tutorial.cxx再使用这个库的功能。0 子文件夹内的CMakeLists.txt在包含要编译成库的源码的路径下添加一个CMakeLists.txt:add_library(MathFunctions mysqrt.cxx)# 把当前文件夹下的mysqr原创 2021-10-22 19:57:49 · 156 阅读 · 0 评论 -
CMake:Tutorial-Step1
Step1: A basic Starting Point(基本初步)0最简单的CMakeLists.txt在文件夹下编译单个文件,要编译的是tutorial.cxx这个文件。其中CMakeLists.txt 文件内容如下:cmake_minimum_required(VERSION 3.10)#set the project name and versionproject(Tutorial)#add the executableadd_executable(Tutorial tutor原创 2021-10-22 19:52:34 · 170 阅读 · 0 评论 -
Process returned -10737341818<oxc0000005>错误原因及解决办法
hmmmmm之前很多bug自己没有总结,从今天开始慢慢把自己的bug记录一下好的贴代码int main(int argc, char* argv[]){using namespace std;///无量纲测试 ofstream fout("testRungeKutta.dat"); const scalar _deltT =0.01; const sca...原创 2019-04-19 14:36:21 · 2613 阅读 · 0 评论 -
OOP学习笔记七:无用单元
1.无用单元收集问题1.1无用单元和悬挂引用:无用单元就是一块存储区,在程序中不可对其引用(无用对象);悬挂引用就是当指针指向的对象被删除,但程序员仍然认为被删除的内存的地址仍然有效的时候(无用指针)。一般多个指针持有同一个地址,即指针别名,通常会导致悬挂引用。1.2语言设计:C++是一种基于值得语言(C也是)。也就是说一切(对象和基本类型)皆为值。每个对象都是有着真实的内存存储空...原创 2019-04-28 14:26:44 · 241 阅读 · 0 评论 -
C++宏定义函数
在看OpenFoam源码的时候突然看到TypeName(“xxx”);这句几乎每个类都有,一开始以为是TypeName(“xxx”)调用构造函数,细看不太对,应该是调用宏定义的函数,这个宏函数原型在$SRC/OpenFOAM/db/typeInfo文件里定义的。如下:#define TypeName(TypeNameString) \ ClassName(TypeN...原创 2019-04-13 15:45:48 · 15517 阅读 · 0 评论 -
OOP学习笔记六:使用构造函数初始化
目录const成员初始化构造:初始化列表内嵌对象(组合)的初始假设有个类用于机动车注册系统,员工数据库等的TPerson类class TPerson{public: TPerson(){/* */}//默认构造函数 TPerson(const char name[],const char theAddress[], unsigned lo...原创 2019-03-18 16:34:15 · 424 阅读 · 0 评论 -
作用域内枚举(C++11)
在看源码时看到一个eunm class writeControl{ timeStep, runTime, adjustableRunTime, clockTime, cpuTime};查了一下是11标准的新的枚举,其枚举量的作用域为类。传统的两个枚举定义中的枚举量可能发生冲突。如下enum egg{small,big};enum bre...原创 2019-03-15 15:40:28 · 448 阅读 · 0 评论 -
OOP学习笔记五:函数返回模式探讨
可能的返回模式如下;T X::f(); //按值返回TT* X::f() //返回T类对象的指针/地址const T* X::f() //返回const T类对象的指针/地址T& X::f() //返回T类对象的引用const T& X::f() // 返回对const T类对象的引用注意以下5点:(1)绝不要返...原创 2019-03-14 11:23:56 · 157 阅读 · 0 评论 -
OOP学习笔记四:传参模式探讨
posit:主调函数为g(),被调函数为f(),T类和X类,f()是T的成员函数circumstance:(1)按值传递(pass by value)void X::f(T arg)参数是一个按值传递的T型参数arg。f()作为被调函数,可以对arg(原始对象的副本) 进行读取和写入。在f()内改动arg不会影响f()的主调函数,因为主调函数已经提供了原始对象的副本。这也许是参数...原创 2019-02-26 17:03:42 · 165 阅读 · 0 评论 -
OOP学习笔记二:识别成员函数的目标对象------this指针
类的每个成员函数都有一个特殊指针------this。this指针内含调用成员函数的对象的地址(即this指针总是指向目标对象)this指针只在函数内部有效。普通成员函数声明如下:void NodesHelper::init(){cout<<endl<<"Input Section START from NodesHepler#####" &l...原创 2019-02-20 20:52:11 · 190 阅读 · 0 评论 -
OOP学习笔记一复制构造函数(copy constructor)
是一个特殊的构造函数,通过现有对象创造新对象。复制构造函数有着特殊的函数原型,很容易识别,一般其有一个所属类的参数(引用)。如class a 的普通的构造函数为a(); 其复制构造函数可以是a(const a& aa);或a(a& aa);在创建或者初始化一个对象的时候,(从无到有地创建)会调用普通构造函数;在用已有对象创建一个新对象时会调用复制构造函数。出现...原创 2019-02-20 15:00:01 · 394 阅读 · 0 评论 -
OOP学习笔记三C++中类不变式和断言
在学习cpp的时候一开始学语法并没有看到有关断言的介绍,在学习sql的时候倒是一开始就很强调断言在程序中的重要性。断言通常是一个用于评估真假的表达式.如果表达式评估为假,则断言失败。在每个成员函数中包含一个断言太不方便了,可以在类里买您包含一些恒为真的条件,无论对象调用任何成员函数,这些条件都必须为真。这样的条件称为类不变式。C和Cpp的编译器都支持assert宏,该宏接受一个表达式,...原创 2019-02-22 16:19:43 · 504 阅读 · 0 评论