小编Sau*_*tin的帖子

Linux Assembly Debugger

我需要在Linux上进行汇编的调试器.对于Linux的LACK调试器,我感到非常惊讶!它应该具有各种功能,例如显示寄存器和不显示寄存器.我会使用GDB,但它与NASM并不完全友好.

我宁愿让调试器具有英特尔语法,但我可以做出牺牲.

我试过kdb,gdb/ddd和ald.有没有人知道别的吗?不建议strace,因为我超越了系统调用!

linux debugging assembly

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

如何在VS10中使用libssh

如何将libssh实现为我的编译器可识别的库?我正在使用Visual Studio 2010 C++,并且我已经包含了Boost库而没有任何问题,但我使用Boost进行的过程很奇怪,我可以告诉libssh会有所不同.

我真的不想做一个DLL文件,我想要一个可执行文件,但是我知道DLL文件可以通过.rc脚本嵌入到可执行文件中.(然后提取并加载)

除了Boost之外,我从来没有必要在我的任何项目中包含一个库,我觉得我应该真的知道如何做到这一点.请注意这是libssh而不是libssh2.谢谢.

c++ visual-studio-2010 libssh

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

替代gethostbyname

我不能gethostbyname用来获取主机的IP地址,这是一个不推荐使用的功能,只能在Windows上工作10%的时间!

我找不到任何足够的资源来寻找使用其他功能查找主机IP地址的其他方法(建议使用MSDN,getaddrinfo但这似乎不是我想要的.)

c++ windows gethostbyname

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

编译的C++可执行文件巨大?

在C编程一段时间后,我决定最终开始学习C++.这有点让我困扰,因为C中的标准"hello world"通常是大约16KB,包括你的编译器在那里抛出的所有crud.(使用stdio)

但是,当我创建一个执行hello world的C++可执行文件时,该文件大约为470KB!我继续使用cstdio而不是iostream,认为它会有所作为而且确实如此.

我的问题是:当我包含iostream时,为什么我的可执行文件的大小会爆炸?

编辑:我正在使用G ++(使用Dev-CPP IDE,但我可以弄清楚如何添加CL参数)

c++ windows filesize

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

处理窗把手

我已经尝试使用"抓取桌面枚举的所有进程ID"方法,但这不起作用.

  • 有没有办法将句柄转换为窗口句柄?-要么-
  • 有没有办法获取进程ID并找出该进程生成的所有子窗口?

FindWindow由于多个流程问题,我不想使用.

c windows winapi

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

如何在不杀死整个程序的情况下立即杀死Perl线程?

当我使用exit或时die,它会杀死整个程序.

foreach my $t (threads->list())
{
    $t->exit;
    $count++;
}

Usage: threads->exit(status) at main.pl line 265
Perl exited with active threads:
        9 running and unjoined
        0 finished and unjoined
        0 running and detached
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

perl multithreading

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

BeautifulSoup:无法将NavigableString转换为字符串

我开始学习Python,我决定编写一个简单的刮刀.我遇到的一个问题是我无法将NavigableString转换为常规字符串.

使用BeautifulSoup4和Python 3.5.1.我应该咬紧牙关并转到早期版本的Python和BeautifulSoup吗?或者有没有办法我可以编写自己的函数来将NavigableString转换为常规的unicode字符串?

for tag in soup.find_all("span"):
    for child in tag.children:
        if "name" in tag.string: #triggers error, can't compare string to NavigableString/bytes
            return child

    #things i've tried:
    #if "name" in str(tag.string)
    #if "name" in unicode(tag.string) #not in 3.5?
    #if "name" in strring(tag.string, "utf-8")
    #tried regex, didn't work. Again, doesn't like NavigableSTring type. 
    #... bunch of other stuff too!
Run Code Online (Sandbox Code Playgroud)

beautifulsoup python-3.x

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

字符[hex]到整数

我尝试使用atoi函数来做到这一点,但它没有用.

我想将一个表示"0x44"的字符串转换为整数(作为0x44或其十进制等效值).

有谁知道任何可以做到这一点的功能?

c

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

绑定到函数的指针只能用于调用函数

我刚刚从char数组转移到std :: string而且我已经遇到了一个问题,我可能正在做一些非常愚蠢的事情,随意嘲笑:

int main()
{
    string * p = new string;
    memset(p, 0, sizeof(string));

    expected_exepath(p);

    cout << p->data;

    delete p;
}
Run Code Online (Sandbox Code Playgroud)

错误在p-> data中,它表示"绑定到函数的指针只能用于调用函数".p是std :: string,所以我不明白为什么它认为我正在尝试叫一个功能.

c++ pointers stdstring

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

为什么pthread_create()返回12?

出于某种原因,pthread_create不允许我传递一个struct作为参数.这个问题与系统无关,虽然我没有机会在其他任何人的盒子上测试它.struct由于某种原因,它根本不允许我通过; 它返回错误#12.

问题不在于记忆.我知道12是ENOMEM,"那应该是那个",但它不是......它根本不会接受我的结构作为指针.

struct mystruct info;    
info.website = website;
info.file = file;
info.type = type;
info.timez = timez;
for(threadid = 0; threadid < thread_c; threadid++)
   {
    // printf("Creating #%ld..\n", threadid);
    retcode = pthread_create(&threads[threadid], NULL, getstuff, (void *) &info);
   //void * getstuff(void *threadid);
Run Code Online (Sandbox Code Playgroud)

当我在GDB中运行此代码时,出于某种原因,它没有返回代码12 ..但是当我从命令行运行它时,它返回12.

有任何想法吗?

c pthreads

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

CreateThread后跟TerminateThread留下了大量内存

我正在使用CreateThread然后使用TerminateThread来取消线程.似乎仍然分配了堆栈空间.有办法解决这个问题吗?我没有使用任何形式的动态内存调用,如malloc/new.线程不必正常退出.10个线程留下了高达5 MB的内存!线程都在代码的不同部分,因此是否有一种简单的方法来实现一个线程间通信系统,它可以告诉它们所有的优先退出,从而重新调整堆栈的方向?

c++ windows winapi multithreading

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