问题标签 [interix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1287 浏览

c++ - 是否有可以将 Visual Studio 目标文件转换为 GCC 格式的工具?

我正在使用 Interix 在 Windows 上构建 C++ 应用程序,需要链接三个目标文件以提供第三方许可模块的功能。第三方提供了由 Visual Studio 构建的目标文件。无论如何转换文件以供 GCC 使用?例如,如果我将名称修改从 Visual Studio 样式更改为 GCC 样式就足够了,或者这两种目标文件格式之间是否存在其他差异?

0 投票
0 回答
110 浏览

c++ - 在 Gentoo 下使用 Interix 构建的库可以在 Gentoo 之外工作吗?

Gentoo Linux 发行版有一个适用于 Interix x86 Windows 的版本。如果我使用 gcc 构建 C++ 库,这些库是否可以与不是在 Gentoo 中构建但仅在 Interix 中构建的可执行文件一起使用?我是否为运行时创建了对任何 Gentoo 安装的依赖项,或者 Interix 是此类库的唯一依赖项,因此在编译时使用它不会创建运行时依赖项?

0 投票
0 回答
141 浏览

c++ - gdb中的“上下文堆栈下溢”是什么意思?

我在 Windows XP 上的 Interix 内的 Gentoo 内运行 gdb。我的应用程序中有一个 C++ 框架,如果我输入它,gdb 会给出错误Context stack underflow。同样,如果我尝试在该函数内设置断点,它也会声明Context stack underflow. 我正在使用 gcc v4.2.4 和 gdb 2002-11-11-cvs(这是我所知道的在 Interix Gentoo 中工作的唯一版本)。

此消息告诉我有关我的应用程序的什么信息以及如何解决它?

0 投票
1 回答
273 浏览

c++ - 如何弄清楚为什么 UDP 只以相对较慢的速率接受数据包?

我在 Windows XP 上使用 Interix 将我的 C++ Linux 应用程序更容易移植到 Windows XP。我的应用程序通过套接字向附近运行 Linux 的机器发送和接收数据包。发送时,我只获得大约 180 KB/秒的吞吐量,而接收时我得到大约 525 KB/秒。在 Linux 上运行的相同代码接近 2,500 KB/秒。

当我尝试以高于 180 KB/秒的速率发送数据包时,数据包会被丢弃以将速率降低到该水平。

我觉得我应该能够获得比 180 KB/秒更好的发送吞吐量,但我不确定如何确定丢包的原因。

为了提高吞吐量,我该如何着手调查这种缓慢?

--更多历史--

为了达到上述数字,我已经通过执行以下操作稍微提高了吞吐量(这在 Linux 上没有任何区别,但有助于 Interix 上的吞吐量):

  • 我将 SO_RCVBUF 和 SO_SNDBUF 从 256KB 更改为 25MB,这提高了大约 20% 的吞吐量
  • 我运行优化而不是调试,这提高了大约 15% 的吞吐量
  • 我关闭了所有发送到标准输出和日志文件的日志消息,这使吞吐量翻了一番。

因此,CPU 似乎是 Interix 的限制因素,但不是 Linux。此外,我在托管在管理程序中的虚拟机上运行。Windows XP 有 2 个内核和 2 GB 内存。

我注意到分析器显示两个核心上的 cpu 平均利用率从未超过 50%。这甚至发生在我运行我的应用程序的两个实例时,它仍然在两个内核上徘徊在 50% 左右。也许我的应用程序是多线程的,具有从 UDP 套接字读取的专用线程和写入 UDP 套接字的专用线程(在任何给定时间只有一个处于活动状态)在 Interix 上没有很好地安排,因此我的数据包是下降?