小编sep*_*oad的帖子

ORG组装指令的作用是什么?

任何人都可以给我一个关于ORG指令的全面描述吗?
何时以及为何在汇编编写的应用程序中使用它?

在x86或AMD64上使用Nasm.

x86 assembly nasm

39
推荐指数
2
解决办法
6万
查看次数

将C++类的定义放入头文件是一个好习惯吗?

当我们用Java,Vala或C#设计类时,我们将定义和声明放在同一个源文件中.但在C++中,传统上优先将两个或多个文件中的定义和声明分开.

如果我只使用头文件并将所有内容放入其中,如Java,会发生什么?是否存在性能损失?

c++ declaration definition header-files

31
推荐指数
2
解决办法
2万
查看次数

如何将Poco库(库)链接到unix环境中的程序

我在使用Poco库时遇到了麻烦.我需要一个简单的解决方案来使编译更容易.pkg-configPoco库是否有任何文件可用于我们的make文件?或任何替代解决方案?

目前我使用的是Ubuntu GNU/Linux.

我正在尝试在我的应用程序中使用poco库,但我不知道如何将Poco库链接到它.实际上我不知道应该将多少个库链接到应用程序.我想知道是否有一种简单的方法可以做到,例如使用pkg-config文件,就像我们一样gtkmm,例如:

g++ prog.cc `pkg-config --gtkmm-2.4 --libs --cflags` -o prog
Run Code Online (Sandbox Code Playgroud)

并且pkg-config程序将适当的libs和头文件附加到我们的命令中.

c++ linux ubuntu-9.10 poco-libraries

12
推荐指数
2
解决办法
1万
查看次数

g ++和c ++ 0x规范支持

虽然据说g ++中对c ++ 0x新功能的支持处于实验模式,但许多gcc开发人员声称可以使用代码中的大多数新功能并使程序正常工作.

但是当我尝试编译这个简单的程序时,会导致分段错误.为什么?

#include <thread>
#include <iostream>

void my_thread_func()
{
    std::cout<<"hello"<<std::endl;
}

int main()
{
    std::thread t(my_thread_func);
    t.join();
}
Run Code Online (Sandbox Code Playgroud)

g ++ -std = c ++ 0x -Wall -o run main.cc

c++ gcc g++ c++11

12
推荐指数
1
解决办法
6310
查看次数

基于插件架构的c/c ++应用程序

我需要知道如何开始编写基于插件架构的应用程序.我的意思是如何编写基本代码,让其他人通过添加他们编写的插件来开发应用程序.我知道在c ++中这样做有一些问题.大多数人使用python之类的其他语言将插件添加到他们的c ++应用程序中.

c++ architecture linux plugins add-in

8
推荐指数
2
解决办法
3045
查看次数

如何将char数组转换为单个整数?

我正在尝试阅读PNG文件的内容.

您可能知道,所有数据都以4字节方式写入png文件,包括文本和数字.因此,如果我们有数字35234,则以这种方式保存:[1000] [1001] [1010] [0010].

但有时数字较短,所以第一个字节为零,当我读取数组并将其从char*转换为整数时,我得到错误的数字.例如,[000]有时将数字误解为负数,将simetimes误解为零!

让我给你一个直观的例子:

char s_num[4] = {120, 80, 40, 1};

int  t_num = 0;

t_num = int(s_num);
Run Code Online (Sandbox Code Playgroud)

我希望我能很好地解释我的问题!

如何将这些数组转换为单个整数值?

好吧好吧,让我更改我的代码来更好地解释它:

char s_num[4] = {0, 0, 0, 13};
int  t_num;


t_num = *((int*) s_num);
cout << "t_num: " << t_num << endl;
Run Code Online (Sandbox Code Playgroud)

在这里我们必须得到13作为结果,好吗?但是再次使用这个新解决方案,答案是错误的,您可以在您的计算机上进行测试!我得到这个号码:218103808这绝对是错的!

c++ png integer casting char

8
推荐指数
2
解决办法
2万
查看次数

如何从二进制文件中读取和写入浮点数?

程序应该如何从C语言或Vala语言中读取和写入二进制文件中的浮点数?

用于写入和读取的通用API通常设计为以字节格式写入.我的意思是你必须将一个字节数据的数组写入文件并以相同的格式读取.

我正在寻找一种以浮动格式编写和读取的方法.没有类型转换,无需将数字更改为字符串.可能吗?

c floating-point binary file

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

使用版本控制在项目之间共享 Json Schema 文件

问题

我们有一些独立的项目(微服务),在他们生命中的某个时刻会引用一些 JSON 模式文件,不用说每个项目都有自己的编程堆栈(尽管主要是 Nodejs 和 Golang)。

在保持版本控制的同时在不同项目之间共享此类数据的最佳实践是什么。

波纹管我描述了我自己的解决方案,但是我也想得到您的反馈。

我的解决方案

  1. 我已经建立了一个 github 项目并将 json 模式文件放在那里
  2. 对于架构的每次更改,我都会更新 repo 并用新版本标记它
  3. 我使用jsdelivr像这样访问它:https : //cdn.jsdelivr.net/gh/[GITHUB-ID]/[GITHUB-PROJECT]@[TAG]/schema.js
  4. 当我想克隆需要架构文件的随机微服务的代码时,作为构建过程的一部分,我从jsdelivr下载架构文件并将其保存到我的本地存储库,但是下载的架构文件被 git 忽略.

你怎么看,有没有更好更顺畅的方法来处理这个案子?

schema json sharing multiple-projects microservices

5
推荐指数
1
解决办法
1225
查看次数

C++中的相互类实例

这段代码有什么问题?这里我们有两个文件:classA.h和classB.h

classA.h:

#ifndef _class_a_h_
#define _class_a_h_

#include "classB.h"

class B; //????

class A
{
public:
    A() {
        ptr_b = new B(); //????
    }

    virtual ~A() {
        if(ptr_b) delete ptr_b; //????
                    num_a = 0;
    }

    int num_a;
    B* ptr_b; //????
};

#endif //_class_a_h_
Run Code Online (Sandbox Code Playgroud)

classB.h:

#ifndef _class_b_h_
#define _class_b_h_

#include "classA.h"

class A; //????

class B
{
public:     
    B() { 
        ptr_a = new A(); //????
                    num_b = 0;
    }

    virtual ~B() { 
        if(ptr_a) delete ptr_a; //????
    }

    int num_b;
    A* ptr_a; //???? …
Run Code Online (Sandbox Code Playgroud)

c++ pointers class

4
推荐指数
1
解决办法
1284
查看次数

如何直接访问GPU?

正如大多数人所知,与GPU相比,CPU没有很好地设计浮点计算.我想知道如何在没有任何抽象层或驱动程序的情况下使用GPU的功能.我可以使用汇编,C,C++语言为GPU编程(我的意思是如何?).虽然程序集似乎可以帮助我直接访问gpu,但C/C++可能需要一个中型库(例如OpenCL)才能访问GPU.

让我问你另一个问题:在没有任何第三方驱动程序的情况下,现代GPU的功能有多少会暴露给程序员?

cpu graphics assembly gpu

4
推荐指数
1
解决办法
968
查看次数