小编Apo*_*hay的帖子

如何从DLL导出C++类?

我有一个有两个重载函数的类.如何从dll导出它以及如何使用其他C++类?我的班级看起来像这样:

#define DECLDIREXP __declspec(dllexport) 

#define DECLDIRIMP __declspec(dllimport)


class DECLDIREXP xyz 

{

public: 
          void printing();
          void printing(int a);
};  

using namespace std; 

void xyz::printing()
{
        cout<<"hello i donot take any argument";
}


void xyz::printing(int a)
{
        cout<<"hello i take "<< a <<"as argument";
}
Run Code Online (Sandbox Code Playgroud)

c++ dll visual-c++

19
推荐指数
3
解决办法
5万
查看次数

致命错误C1083:无法打开包含文件:'xyz.h':没有这样的文件或目录?

我正在使用visual studio 2005来创建一个项目.我在项目中有文件夹结构:一个名为code的文件夹.此文件夹包含所有*.cxx文件.

现在,我在头文件xyz.h中创建了一个类xyz. 并定义了xyz.cxx中放在代码文件夹中的所有内容.但是现在当我尝试使用visual studio编译它时,它会抛出一个错误"致命错误C1083:无法打开包含文件:'xyz.h':没有这样的文件或目录".如何纠正这个问题.

c++

19
推荐指数
3
解决办法
12万
查看次数

如何打印一个小于另一个double值的double值?

其实我正在用c ++编写范围表达式.所以我想要的是,如果我有任何表达式

x<1
Run Code Online (Sandbox Code Playgroud)

然后我的

double getMax(...);
Run Code Online (Sandbox Code Playgroud)

应该在数字行上返回一个在1.000(双精度)之前的双精度值.

我试过这样做

double getMax(double& a)
{
    return (a-numeric_limits<double>::min());
}
Run Code Online (Sandbox Code Playgroud)

但我仍然得到与回报声明相同的价值.

我认为C++在cout语句中将它转换为最接近的double.

int main()
{
    double a = 32;
    cout<<scientific<<getMax(a)<<endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

3.200000e+001
Run Code Online (Sandbox Code Playgroud)

c++ number-formatting

11
推荐指数
1
解决办法
626
查看次数

如何将Boost :: shared_ptr <T>暴露给Tcl + SWIG接口文件?

我想boost::shared_Ptr使用SWIG 公开Tcl层.但目前我不知道我可以揭露这个.我发现SWIG/Lib文件夹包含的接口文件shared_ptr.i.但在内容中我发现我无法直接使用它.它必须包含在" boost_shared_ptr.i"之后.但是boost_shared_ptr.i在" SWIG/Lib/tcl"文件夹中没有任何内容,但我们有类似的接口,我可以在Java中包含它.

c++ swig tcl

10
推荐指数
1
解决办法
436
查看次数

什么时候会释放记忆?

我已经创建了一个代码块,就像这样.

proc()
{
    Z* z = new Z();
}
Run Code Online (Sandbox Code Playgroud)

现在,在方法proc中声明的指针将只有范围直到proc.我想询问何时自动调用DTOR for z.当控件来自方法proc还是我的应用程序关闭时.

c++ memory pointers

6
推荐指数
4
解决办法
302
查看次数

下面的代码是否容易出现内存泄漏?

我是C++的新手,我想知道下面的代码是否容易出现内存泄漏.这里我使用std::ostream指针将输出重定向到控制台或文件.为此,我打电话给新的运营商std::ofstream.

#include <iostream>
#include <fstream>

int main() {
    bool bDump;

    std::cout << "bDump bool" << std::endl;
    std::cin >> bDump;

    std::ostream *osPtr;

    if (bDump) {
        osPtr = new std::ofstream("dump.txt");
    } else {
        osPtr = &std::cout;
    }

    *osPtr << "hello";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

还有一件事,我没有关闭我在调用构造函数时打开的文件ofstream.我们是否有任何潜在的数据丢失情况.因为文件没有关闭.

c++ pointers

5
推荐指数
2
解决办法
584
查看次数

如何获取gdb中数据成员的值?

您好,我目前正在通过 GDB 在 Linux 机器上调试我的代码库。我目前面临着从类的对象 ptr 获取数据成员的值的问题。要打印对象 ptr 的位置,我们可以使用“p”(打印)或“显示”命令。

例如:我有这样的课程

class abc
{
    string a;
};
Run Code Online (Sandbox Code Playgroud)

因此,在我的代码中,如果我使用类 abc 的指针,那么

abc* objPtr = new abc();
Run Code Online (Sandbox Code Playgroud)

因此,在上面的行中断之后,我将得到 objPtr,现在我想检查数据成员 a (abc::a) 值的值。我怎么能这么做呢?

(gdb) p objPtr
$2 = {px = 0x3ba6430690, pn = {pi_ = 0x3ba6430698}}
Run Code Online (Sandbox Code Playgroud)

此外,是否有不同的方法来检查作为列表/向量的数据成员?

c++ gdb

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

如何删除tcl解释器?

我在c ++中有一个应用程序,我正在使用tcl解释器.我已经为我的应用程序创建了一个tcl解释器

Tcl_Interp *_tclInterp = Tcl_CreateInterp();
Run Code Online (Sandbox Code Playgroud)

我在一个函数中初始化了这个解释器.我想在我初始化它的同一个函数里面删除/取消设置解释器.所以,当我做一个

Get("tcl"); 
Run Code Online (Sandbox Code Playgroud)

打电话我不会得到同样的翻译.

所以我的问题是如何删除/取消设置tcl解释器.

c++ tcl

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

将指针指定为NULL时会发生什么?

我有一个指向某些数据的指针.现在我创建了一个类似的指针.现在,这个新指针被分配给旧指针.如果我删除旧的将会发生什么?

A* a = new A();
A* b = a;
a = NULL;
Run Code Online (Sandbox Code Playgroud)

"a"和"b"会发生什么?

而且,如果我做了以下事情:

A* a = new A();
A* b = a;
delete a;
Run Code Online (Sandbox Code Playgroud)

而且我想知道当我们分配NULL时,指针会发生什么.

A* a = new A();
a = NULL;
Run Code Online (Sandbox Code Playgroud)

一个仍然指向一些记忆或它指向什么?

c++ pointers

3
推荐指数
2
解决办法
2872
查看次数

为什么Div中段落和文本框的高度不一样?

我创建了一个带有两个子元素的div.

  • 一个段落
  • 带有文本类型的输入.

我为它们提供了相同的高度但是在浏览器上我没有得到相同的高度.

我的HTML

<!DOCTYPE html>

<html>
<head>
    <title></title>
    <link rel="stylesheet" href="./StyleSheet.css">
</head>
<body>
    <div class="textWbutton">
        <p>Enter Name</p>
        <input type="text" placeholder="I am placeholder" />
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的CSS

html,body
{
    font-size: 0px;
}

.textWbutton
{
}

.textWbutton input[type='text']
{
    margin: 0px;
    padding-left: 10px;
    padding-right: 10px;

    height: 30px;
    display: inline;

    border-radius: 0px 5px 5px 0px;
    border: 1px solid Black;
}

.textWbutton p
{
    font-size: 15px;
    margin: 0px;
    padding-left: 10px;
    padding-right: 10px;

    height: 100%;
    display: inline; 
    border-radius: 5px 0px 0px 5px; …
Run Code Online (Sandbox Code Playgroud)

html css

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

标签 统计

c++ ×9

pointers ×3

tcl ×2

css ×1

dll ×1

gdb ×1

html ×1

memory ×1

number-formatting ×1

swig ×1

visual-c++ ×1