h**********c 发帖数: 4120 | 1 Sorry, no example,
But, what is the difference of start your own threads, call the DLLs, sync
the threads yourself.
Take some time Z-turn, Z-turn. |
|
b*d 发帖数: 75 | 2 if interprocess, it may be ok.
if interthread, mission impossible. WinGW and VS are totally incompatible,
you won't be able to link your code with the two dll's. |
|
b***i 发帖数: 3043 | 3 那就是说你同步部分写错了。很大的可能是你的那个semaphore根本就是生成了两个不
同的变量。
你要详细说一下,你是怎么同步的。你是把semaphore的指针传递给dll吗? |
|
b***i 发帖数: 3043 | 4 还不是很清楚你同步的意思。到底要做什么?被同步的两个线程为什么要同步? |
|
x**n 发帖数: 1055 | 5 两个线程都是基于有限差分法的(finite difference),也就是t_msvc和t_mingw都是按照各自的时间步行进(time marching),每步开始前,两个线程之间要停下来交换一下各自的数据,然后开始各自的计算,然后等到下一步开始前,两个线程又要停下来交换数据,以此类推,因此线程同步就很重要了 |
|
b***i 发帖数: 3043 | 6 再具体点。每个线程内都做了什么,详细说说。有循环吗?
按照各自的时间步行进(time marching),每步开始前,两个线程之间要停下来交换一
下各自的数据,然后开始各自的计算,然后等到下一步开始前,两个线程又要停下来交
换数据,以此类推,因此线程同步就很重要了 |
|
x**n 发帖数: 1055 | 7 两个线程都是按照时间步dt循环
t_msvc线程:
for(t=0;t
{
bt_param->brr->wait()
//这里停下来同步传信息给t_mingw
bt_param->brr->wait()
//到这里需要同步的内容结束
t_msvc自己的计算...
}
t_mingw线程:
for(t=0;t
{
bt_param->brr->wait()
//这里停下来同步传信息给t_msvc
bt_param->brr->wait()
//到这里需要同步的内容结束
t_mingw自己的计算...
}
基本就是上面的框架,不知是不是解释清楚了,谢谢! |
|
b***i 发帖数: 3043 | 8 我来说说我的理解吧,是不是你想做的
t_msvc线程:
for(t=0;t
{
这里传递这一步需要的信息给t_mingw;
等待同步信号;
t_msvc自己的计算...
}
t_mingw线程:
for(t=0;t
{
这里传递这一步需要的信息给t_msvc;
等待同步信号;
t_mingw自己的计算...
} |
|
x**n 发帖数: 1055 | 9 是,基本上就是这样一个结构,至于同步时信号传递先后关系暂时不用考虑,如果是同
一个编译器编译的两个DLL,用boost.thread毫无问题,但是不同编译器产生的,就不行
了,呵呵 |
|
b***i 发帖数: 3043 | 10 那你就做个函数专门负责wait,把函数指针传入每个线程。这样,只要他们能找到这个
函数,由这个函数统一负责调用wait,而不是分别两个编译器写不同的代码,你懂了吗
?这个函数是主函数中的。 |
|
|
t****t 发帖数: 6806 | 12 版本...哪个平台...mingw还是native, 32还是64...
擦, 现在问问题的都牛逼, 牛逼到错误信息都不会读. |
|
|
r**a 发帖数: 536 | 14 多谢大牛指点。我刚才用mingw+eclipse在windows 7里面试了试我的code。print 3很
快,看了vc++2012确实有点慢。
is
defined |
|
|
G*****7 发帖数: 1759 | 16 finally a decent production-grade, x64-capable c++11 compiler on windows.
p.s., not to downplay the c++11 compliance of mingw, but its lack of x64
target-ability is a huge pain. |
|
c*******y 发帖数: 1630 | 17 good to know, mingw is just a backup plan. |
|
h*******u 发帖数: 15326 | 18 一个数值计算库要从linux移植到windows上面,没有现成的VS项目文件。自己创建项目
编译后,总是出现 c2590 only a constructor can have a base/member initializer
错误。这个库支持在windows上用MinGW编译,但是我们主要的code都是用VS开发的,
所以必须要用VS重编译才行。现在不知道怎么办了。
哪位比较有经验的给点建议?3xs |
|
d***q 发帖数: 1119 | 19 on windows, you can try mingw compilers,
eclipse with c++ dev or codeblocks. |
|
t*****n 发帖数: 4908 | 20 来自主题: Programming版 - 初学者问题 gcc就够了。装个mingw。要开发上eclipse+cdt |
|
l*********s 发帖数: 5409 | 21 for what you do, get a mingw and gcc instead of visual studio. |
|
h**t 发帖数: 1678 | 22 我对C++编程不是很熟悉,如果问题太傻不要拍砖。
比如说用Qt做一个GUI,设计完了以后。是需要把这个c++code做一个dll出来,然后load
到自己想要的平台上?这个GUI怎么能够脱离Qt单独运行?
它的code里面有很多类似于QApplication这样他自己定义的library,header files....
如果用VS 或者minGW 在command prompt上compile,会出现no such file or
directory 一类的错误。
Many thanks! |
|
n***e 发帖数: 723 | 23 呵呵,谢谢。
另外建议,如果不是必要最好不要混用vs和mingw(qt)。里面的兼容性问题有的时候
蛮烦的。 |
|
d***q 发帖数: 1119 | 24
如果需要用 COM之类的接口(例如 调用excel,word之类的和微软有关的接口),那么
mingw就不要用了。 |
|
h**t 发帖数: 1678 | 25 为什么?我恰恰是要csv接口和mingw compile。 |
|
d********g 发帖数: 10550 | 26 让你去Google你也不敢。“Visual Studio”是啥时候出来的IDE?好吧,吃完BBQ我回
来揭晓谜底了
VC++ 6.0:
VB 6.0:
VC6和VB6完全是不同的,这时还没VS啥事。你的Eclipse和VC6比是对的,和“VS”比还
没影呢
VS 2002:
这个版本实在失败,刚推出不就就被2003取代了,暂且不表。但它是技术上第一个集成
IDE,试图把不同的语言当作插件,共享同一个IDE平台。因为技术并不成熟,同时需要
照顾legacy系统,还是把VC、VB等分开了
VS 2003:
这个版本就是2002的bugfix,变化不大。各组件技术上已经融合,但还不敢宣称是VS
VS 2005:
真正的VS来了,这是现在VS的概念,不管什么语言,都是VS这个IDE的plugin而已。下
面是不同开发的title:
VS 2008:
这个也不用说
VS 2010:
VS 2013:
我小从6.0用起,正经算来也到2008了,因为Python 2.7.x是2008编译的,一些package
需要C extension的最好要一个编译器,MinGW不给力,所以需要2008备用。20... 阅读全帖 |
|
x****u 发帖数: 44466 | 27 想行为艺术自己装个MingW搞啊,没人拦着你。
NT是个开放微内核架构,和Mac比说不上哪个更像Unix。 |
|
p**o 发帖数: 3409 | 28 纯python代码是跨平台的。
有些高效的第三方扩展是C/C++写的,不保证跨平台;即使跨平台,你安装或部署时也
要用合适的toolchain来编译,比如说,官网下载的Windows版的Python2是用VC2008编
译的(当然你可以自己编译),那么编译和动态链接第三方扩展时就不能用VC2010或者
MinGW,否则你import的时候loader可能不能正常工作。如果你一直被JVM罩着,没有部
署native软件的经验,上手自然会慢一些。 |
|
b*********n 发帖数: 2284 | 29 就是不知道怎么修改,我非常菜需要高人指点一下。我只用过windows下的cygwin,不
知道这个mingw怎么玩儿。 |
|
w*x 发帖数: 518 | 30 不会呀,我用mingw-w64有一阵子了…
而且msvc也可以呀,除了openmp支持以外别的都是免费的
而且以后(py3.5)用msvc的时候openmp也免费了 |
|
L***s 发帖数: 1148 | 31
windows下mercurial/hg比较友好,毕竟是python写的,跨平台
(python社区的软件一般都把对windows的支持作为非常重要的考量)
git在设计时就故意不考虑让windows用户(方便地)使用,是带了政治使命的,
后人费了老牛鼻子劲才port到windows上,还是不得不驮着几百兆的msys/mingw。
mercurial的syntax也比git更直观、更make sense、更好学。
你如果要学python,mercurial项目本身就是很优秀的学习材料。
综上,推荐你在windows上用mercurial。
(git和mercurial的repo可以互转的,所以你没必要担心“选边”的问题,反正将来可
以跳船) |
|
p***o 发帖数: 1252 | 32 不折腾
laptop: visual studio+mingw+git
server: ubuntu+build-essential+git |
|
t*****n 发帖数: 4908 | 33 我觉得linux本身还是不错的。许多开源软件都是linux上开发的。虽然windows上有
mingw和cygwin,但是真正想要用开源软件做开发,不用linux不行。光编译一些开源库
就能折腾死人。所以mac比较折中,有银子当然上mac。 |
|
N******K 发帖数: 10202 | 34 MinGW gcc4.9 在win7上有大问题:obj文件 section太多就编译不下去了
查了一下stack overflow 就是这个情况 没法改
在win7上用gcc 看来是不行了 必须装linux
暂停使用linux3个月 等fedora 21出来 提供gcc4.9
VS2013实现了c++11和c++14的很多功能 gcc4.8.3没跟上 比如 make_unique
所以我用VS写的程序目前不能用 gcc4.8.3编译 |
|
t****t 发帖数: 6806 | 35 gcc 4.8是c++11 complete, VS2013差远了. 至于c++14的少量功能直接找boost就可以
了. mingw这类的东西玩玩可以, 正经用是不行的. |
|
d****i 发帖数: 4809 | 36 建议换用Cygwin GCC,支持几乎所有标准的UNIX系统调用和函数库。 |
|
S*A 发帖数: 7142 | 37 cygwin 是 32 位的,64 位的只有 alpha,跑起来问题很多。
你需要用 64 位的 wc。
你可以实验一下 mingw 64 位,那个如果包含 wc
应该就是64的。 |
|
t*****n 发帖数: 4908 | 38 我用mingw没什么问题。milllion级别的代码都可以编译。win下面和linux下面没有区
别。你到stackoverflow去问吧。 |
|
|
G*****9 发帖数: 3225 | 40 谢谢各位,已经搞定了。主要还是MinGW装的不是64位的。换过来就搞定了。 |
|
|
L****8 发帖数: 3938 | 42 MinGW 就是个joke
windows 不用vs 就是行为艺术
found" |
|
c*******g 发帖数: 93 | 43 My DEV env on windows is currently: MinGW + msys2 + Eclipse, and it works
great. At least for my app dev I don't have any issues so far. But again,
the learning curve is there. |
|
|
g****t 发帖数: 31659 | 45 代码是一个tool。
里面有一个win com的第三方库,
可能是这个问题。
公司是赛门铁克监控带杀毒软件。
比较烦的是假如将来我发.exe给客户,还要
确认他不会出这个问题。所以想问问有没什么赛门铁克
认证之类的东西。
Hello world 的代码就没这问题。
Gcc是mingw 64
: 方便的话发一下代码,还有是哪个杀软
|
|
j***n 发帖数: 301 | 46 google:
mingw
dev c++
gcc
microsoft visual studio |
|
c*****t 发帖数: 1879 | 47 我个人觉得 cygwin 没 MinGW 好用,而且太大了。而且有些 cygwin 的指令
只能在 cygwin 的 shell 里面执行。 |
|
c*****t 发帖数: 1879 | 48 cygwin 最不能让人忍受的一点就是写 c / d drive 上某文件的 path 特麻烦。
还是 mingw 简单 /c/...., /d/...。
powershell |
|
L***n 发帖数: 6727 | 49 没事吧,你可以在 / 建一个指向c:\的link,就叫c好了,用起来就和Mingw一样了啊 |
|
|