小编Mag*_*off的帖子

是否可以在不重新编译的情况下更改exe的图标?

我有很多可执行文件,我已编译(很长一段时间),其中许多我现在没有源代码.但是当我编译它们时,我没有为它们添加任何图标,所以它们看起来都像是一个沉闷,光头的默认图标.所以我的问题是,

(1)我是否可以编写一个可以更改exe资源部分并更改其外观的软件?如果是这样,任何人都可以指向我解释的位置吗?(我是一个初学者,我不知道exe格式和所有)还有它的乐趣,继续更改图标,而不必重新编译一切只为图标更改...

(2)这引发了一个自然的反向问题,是否同样可以将某些文件使用的图标删除并将其用于其他文件?(如果是这样,请将我指向我可以获得一些细节的位置.

我是一名C/C++开发人员,我正在寻找Windows平台上的解决方案......

此致,MicroKernel

c c++ winapi file-format

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

为什么函数对象在python中评估为True?

在python中,构建如下构造是有效的:

def a(): 
    return 0

if a: 
    print "Function object was considered True"
else:  
    print "Function object was considered False"
Run Code Online (Sandbox Code Playgroud)

我想问一下函数指针被评估为True的逻辑是什么.

为什么这种结构插入语言?

python function-pointers function

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

在 C++11 中实现自定义迭代器

我正在读一本书,我开始了模板章节。我已经阅读了关于迭代器的章节。为了练习,我正在尝试使用模板实现一个双向链接的类。下面是我的类的头文件。

template<typename T>
class list
{
private:
    T* first_node;
    T* last_node;
    struct node_structure
    {
        T* previous;
        T* next;
        T content;
    };
public:
    list();
    void push_back( T& item );
    void push_front( T& item );
    void remove( size_t index );
    size_t size() const;
    T& get_node( size_t index );
    void clear();
    ~list();
};
Run Code Online (Sandbox Code Playgroud)

我可以设置两个成员:

T* begin();
T* end();
Run Code Online (Sandbox Code Playgroud)

...表现得像非常基本的迭代器,但它们实际上不是迭代器。所以,我有一个问题:

如何实现自定义的迭代器类与所有的算术运算和使用有begin()cbegin()end(),和cend()

(我知道创建列表类的效率不如std::list,但我这样做只是为了练习。)

c++ c++11

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

套接字模块在我的Python中不起作用

非常简单.

>>> import socket
>>> socket.gethostbyname('http://yahoo.com')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
socket.gaierror: [Errno -2] Name or service not known
Run Code Online (Sandbox Code Playgroud)

python sockets http

0
推荐指数
1
解决办法
1153
查看次数

使用Qt4的简单菜单栏

我正在尝试用QT 4.6制作一个简单的GUI.我创建了一个代表菜单栏的separete类:

MenuBar::MenuBar()
{
    aboutAct = new QAction(tr("&About QT"), this);
    aboutAct->setStatusTip(tr("Show the application's About box"));
    connect(aboutAct, SIGNAL(triggered()), this, SLOT(about()));

    quitAct = new QAction(tr("&Quit"),this);
    quitAct->setStatusTip(tr("Exit to the program"));
    //connect(quitAct, SIGNAL(triggered()), &QApp, SLOT(quit()));

    menuFile = new QMenu("File");
    menuFile->addAction(quitAct);

    menuLinks = new QMenu("Links");

    menuAbout = new QMenu("Info");
    menuAbout->addAction(aboutAct);


    addMenu(menuFile);
    addMenu(menuLinks);
    addMenu(menuAbout);
}
Run Code Online (Sandbox Code Playgroud)

我无法将quitAct的信号与主应用程序的退出槽连接,因为它在MenuBar类中是不可见的.

//connect(quitAct, SIGNAL(triggered()), &QApp, SLOT(quit()));
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

c++ qt qt4

0
推荐指数
1
解决办法
3213
查看次数

我该如何避免这种链接错误?

如果我在头文件中定义了一个全局变量(带初始化),并将该文件包含在两个文件中并尝试编译和链接,编译器会给出链接错误

headers.h:

#ifndef __HEADERS
#define __HEADERS
int x = 10;
#endif
Run Code Online (Sandbox Code Playgroud)

1.C:

#include "headers.h"
main ()
{
}
Run Code Online (Sandbox Code Playgroud)

2.C:

#include "headers.h"
fun () {}
Run Code Online (Sandbox Code Playgroud)

c

0
推荐指数
1
解决办法
214
查看次数

使用指针缩小C++中的类型转换

我在C++中使用指针进行向下类型转换时遇到了一些问题,在我想出这样做之前,谷歌基本上告诉我这是不可能的,而且我从C++学到的任何书都没有涉及到.我认为这会起作用......

long int TheLong=723330;
int TheInt1=0;
int TheInt2=0;
long int * pTheLong1 = &TheLong;
long int * pTheLong2 = &TheLong + 0x4;

TheInt1 = *pTheLong1;
TheInt2 = *pTheLong2;

cout << "The double is " << TheLong << " which is "
     << TheInt1 << " * " << TheInt2 << "\n";
Run Code Online (Sandbox Code Playgroud)

第五行的增量可能不正确,但输出让我担心我使用gcc 3.4.2的C编译器会自动将TheInt1转换为long int或其他东西.输出看起来像这样......

双倍是723330,即723330*4067360

TheInt1的输出不可能高,并且没有TheInt2的输出.

我有三个问题......

我是否走在正确的轨道上?

第五行的适当增量是多少?

为什么地狱是TheInt1/TheInt2允许如此大的价值?

c++ pointers type-conversion

0
推荐指数
1
解决办法
212
查看次数

如何在Python中使用按位运算符?

我是python的新手.我使用以下代码测试了我的解释器,

In [1]: 2 and 3
Out[1]: 3

In [2]: 3 and 2
Out[2]: 2

In [3]: 3 or 2
Out[3]: 3

In [4]: 2 or 3
Out[4]: 2
Run Code Online (Sandbox Code Playgroud)

在上面,拿2=00103=0011.结果是,

+ 0010
  0011
  ----
  0010=2
Run Code Online (Sandbox Code Playgroud)

Out[1]给了3(不完全)并out[2]给了2(确切).

两种情况有什么区别?

python python-2.7

0
推荐指数
2
解决办法
419
查看次数

无法理解以下C语言程序的输出

我无法理解以下C程序的输出,有什么想法吗?

#include<stdio.h>

#include<conio.h>

void main()

{
  int a=5,b=6,c=11;

  clrscr();

  printf("%d %d %d");

  getch();
}
Run Code Online (Sandbox Code Playgroud)

该计划的输出是:

11 6 5

我不明白为什么上面的程序给我们printf中的反向变量值我从来没有声明哪个值必须打印...所以有任何理论,如果我们没有声明哪个变量必须打印然后我们得到变量的反向值我们上面在数据类型中声明了......

c

0
推荐指数
1
解决办法
288
查看次数

对矢量

我需要在每对长度为n的初始化中使用(false,false)对的向量.

像这样的东西,但是正确的:

vector<pair<bool,bool> > hm(n,(false,false));
Run Code Online (Sandbox Code Playgroud)

c++ vector

0
推荐指数
2
解决办法
107
查看次数