小编Jas*_*son的帖子

大规模跨平台软件项目的提示/资源

我将开始一个涉及跨平台GUI和大量数字运算的大型软件项目.我计划在C++和CUDA中编写大部分应用程序后端,在Qt4中编写GUI.我计划使用Make作为我的构建系统.这将是一个只有两个开发人员的项目,一旦我相对较远,它可能最终成为一个开源项目.

我的主要问题是,是否有人有任何提示/资源来开发软件背后的架构.

  • 什么是构建文件的好方法?(数字运算代码在一个单独的文件夹中,而不是gui代码,它与已编译的可执行文件分开,或者其他什么?)
  • 构建系统如何适用于跨平台软件?我是否需要为每个平台设置不同的构建系统,或者我是否可以根据调用的平台创建一个不同构建的通用"makefile"?
  • 我需要对我的代码做什么样的修改才能确保它能在所有平台上正确构建(预处理器指令等......)?
  • 如何处理大型项目的修订控制并将其集成到构建系统中,以便我获得每次构建项目时都更新的Version.Revision.Build数字?

我即将毕业的大学几乎没有这个,这让我感到沮丧.在这一点上,我已经做了很多谷歌搜索,运气不足我需要的东西.我不是要求用勺子喂食所有东西,我会完全满足于书籍或与此相关的网站的链接.

我已经分别完成了大部分这些工作,但我从未尝试将所有内容组合成一个大包.

有人会推荐Release It!:为我所询问的内容设计和部署生产就绪软件吗?

c++ cuda qt4

6
推荐指数
1
解决办法
455
查看次数

C++继承问题

在test.cpp文件中,我有这个:

template <typename T>
class A
{
public:
  A(int a){};
  virtual ~A();

private:
};

class B : public A<int>
{
public:
  B(int a):A(a){};
  virtual ~B();

private:
};

int main()
{
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我编译它时,我得到这个:

jason@jason-linux:~/Documents/ECLibrary$ g++ -g -Wall -Wextra -pedantic-errors test.cpp -o tdriver
test.cpp: In constructor ‘B::B(int)’:
test.cpp:14: error: class ‘B’ does not have any field named ‘A’
test.cpp:14: error: no matching function for call to ‘A<int>::A()’
test.cpp:5: note: candidates are: A<T>::A(int) [with T = int]
test.cpp:3: note:                 A<int>::A(const A<int>&) …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance constructor

3
推荐指数
1
解决办法
799
查看次数

模板化类中模板化函数的困难

在尝试编写递归模板成员函数以迭代元组时,我遇到了一个问题.

在以下代码中:

#include <cstddef>
#include <iostream>
#include <string>
#include <tuple>

template <typename... P>
class A
{
public:
  typedef std::tuple<P...> tup_t;

  tup_t tup;
};

template <typename T, typename... P>
class AA : public A<P...>
{
public:
  T junk;
};

template <typename T>
class B
{
public:
  T a;

  void func(const char* delim);

private:
  template <size_t x>
  void __func(const char* delim);
};

template <typename T>
void B<T>::func(const char* delim)
{
  __func<std::tuple_size<typename T::tup_t>::value>(delim);
}

template <typename T>
template <size_t x>
typename std::enable_if<(x > …
Run Code Online (Sandbox Code Playgroud)

c++ templates c++11

3
推荐指数
1
解决办法
683
查看次数

标签 统计

c++ ×3

c++11 ×1

constructor ×1

cuda ×1

inheritance ×1

qt4 ×1

templates ×1