小编kum*_*mar的帖子

g ++链接器:如果存在静态库,则强制静态链接?

我有一个链接到许多库的程序.g++默认情况下,即使存在相应的存档,也更喜欢链接到共享库.

如果存在静态存档,如何将此首选项更改为优先于静态存档而不是动态库?

注意,我使用了-static选项,但它试图找到所有库的静态存档,这不是我想要的.

c c++ linker g++ static-libraries

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

连接套接字上的read()函数可以返回零字节吗?

我知道read()是一个阻塞调用,除非我使套接字无阻塞.所以我希望read()调用请求4K数据应该返回一个正值(没有读取的字节数)或错误的-1(客户端可能的连接重置等).我的问题是:read()可以在任何场合返回'0'吗?

我这样处理read():

   if ((readval = read(acceptfd, buf, sizeof(buf) - 1)) < 0)
    {

    }
    else
    {
       buf[readval] = 0;
       //Do some thing with data  
    }
Run Code Online (Sandbox Code Playgroud)

如果read()返回零,这段代码就会爆炸,我知道如何修复它.但是read()有可能返回零吗?

sockets linux network-programming tcp runtime-error

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

如果对象在构造函数中抛出异常,是否会调用基类的析构函数?

如果对象在构造函数中抛出异常,是否会调用基类的析构函数?

c++ constructor

16
推荐指数
4
解决办法
1106
查看次数

在没有服务器调用'accept'的情况下,套接字上的'connect'调用可以成功返回

服务器已创建一个套接字并绑定到一个端口,并启动一个循环中的线程来接受该连接.稍后循环由于异常导致线程退出而退出但是套接字仍然限制为端口.现在,如果客户端对此服务器进行"连接",则它会成功.这怎么可能?如果我理解正确,'connect'仅在服务器在侦听套接字上"接受"后返回.我在这里错过了什么吗?

sockets linux network-programming tcp

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

子序列的概率计算和算法

这是一种游戏,其中卡1-50被分发给两个玩家,每个玩家具有10个随机顺序的卡.目标是对所有卡片进行排序,并且首先执行该卡片的人是赢家.每次一个人都可以从卡座上取卡,他必须更换现有的卡.玩家不能交换他的牌.也就是说只有他可以用卡片从卡片上取代他的卡片.丢弃的卡片将以随机顺序返回卡片.现在我需要编写一个有效地执行此操作的程序.

我已经考虑过以下解决方案1)找到在给定的一组卡中按升序排列的所有子序列2)对于每个子序列,基于可以解决问题的方式的概率来计算权重.例如:如果我有一个子序列48,49,50在索引2,3,4完成问题的概率是这个子序列是0.所以权重乘以0.类似地,如果我在索引3,4,5处有序列18,20,30,则完成游戏的可能方式中没有可能的卡可选择用于6-10和17种可能的卡以选择前2个位置,3)从卡片组中的每张卡片,我将扫描列表并重新计算子卡片的重量以找到更合适的卡片.

好吧,这个解决方案可能有很多缺陷,但我想知道1)给定一个子序列,如何找到完成游戏的可能方式的可能性?2)找到所有子序列的最佳算法是什么?

sorting algorithm sequences probability

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

如何查看已打开套接字连接的进程的线程ID?

我有一个进程,其中多个线程打开多个套接字连接.我想查看此信息并映射哪个线程已打开哪个套接字端口. lsof -inetstatcommand给出进程ID,但无法显示线程ID.是否有打印此信息的命令?

sockets linux multithreading

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

多个顶级域名?

在普通 URL 中,您有协议、子域(可选)、域名、顶级域和子目录。

例如:http://www.google.com/path。这里www是子域名,google是域名,com是 TLD;path是这里的子目录。解析这是一个简单的编程任务。

但当存在多个 TLD 时就会出现问题。例如:www.google.co.in/path。这里co.in是顶级域名。但我看到还有一个有名字的网站www.co.in

我的疑问是:

  • 一个 URL 可以有多少个顶级域名?在 URL 中,如果可能存在多个 TLD,如何查找顶级域?
  • 在上面的示例中,google.co.in它不是 的子域co.in,那么为什么www.co.in会解析到不同的网站呢google.co.in

domain-name tld

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

如何排除某些子进程在valgrind下运行?

我正在Linux中运行一个守护进程,我想在valgrind下运行这个守护进程来查找与内存相关的错误.由于它是一个守护进程,我需要使用--trace-children=yes选项,但是这会在以后的生命周期中生成许多进程,我不希望它们在valgrind下运行.有没有办法排除某些孩子在valgrind下运行?

linux valgrind

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

如何在python中将文件描述符从父传递给子?

我正在使用多处理模块,并使用池来启动多个工作程序.但是在父进程中打开的文件描述符在工作进程中关闭.我希望他们开放......!有没有办法传递文件描述符在父和子之间共享?

python file-descriptor multiprocessing

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

python线程和性能?

我不得不做大量的I/O绑定操作,即解析大文件并从一种格式转换为其他格式.最初我曾经连续做过,即一个接一个地解析..!性能非常差(使用时间超过90秒).所以我决定使用线程来提高性能.我为每个文件创建了一个线程.(4个主题)

 for file in file_list:
            t=threading.Thread(target = self.convertfile,args = file)
            t.start()
            ts.append(t)
 for t in ts:
            t.join()
Run Code Online (Sandbox Code Playgroud)

但令我惊讶的是,没有任何性能提升.现在还需要大约90秒以上才能完成任务.由于这是I/O绑定操作,我原本期望提高性能.

python performance multithreading

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