Microsoft Increment Linker已停止工作解决方案

Microsoft Increment Linker已停止工作解决方案


在Windows 7下安装Visual Studio 2008,写SDK程序时链接器经常出问题,如果程序里面包含了资源,则出问题的几率就更大了。一般是Debug版本在链接时提示“Microsoft Increment Linker已停止工作”,如图所示。

不管是不是以管理员身份运行Visual Studio 2008,这样的问题都会出现;网上找了一下,有一个临时性的解决方案:打开项目的“属性”对话框,单击“链接器”选项,单击“常规”属性页,修改“启用增量链接”属性为“否(/INCREMENTAL:NO)”;或者直接在程序中使用如下命令也可以:

#pragma comment(linker, "/INCREMENTAL:NO")

之所以称为临时性解决方案,是因为我对启用增量链接与否对程序的影响并不了解,有空再做研究。
Microsoft Increment Linker已停止工作


本为来自: http://www.programlife.net/microsoft-increment-linker-crash.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`Interlocked.Increment` 方法通常用于多线程编程中,用于实现对共享资源的原子性操作。在多线程环境中,多个线程可能同时对同一个共享资源进行读写操作,如果没有进行同步或原子性操作,就会出现竞态条件(race condition)等问题,导致程序出现不可预测的错误。 例如,在一个多线程的计数器应用中,每个线程需要对计数器进行自增操作,而这个计数器是多个线程共享的。如果多个线程同时对计数器进行自增操作,就有可能出现数据不一致的情况。使用 `Interlocked.Increment` 方法可以保证对计数器的自增操作是原子性的,从而避免了这种竞态条件。 下面是一个使用 `Interlocked.Increment` 方法的示例代码: ```csharp class Program { private static int counter = 0; static void Main(string[] args) { Thread[] threads = new Thread[10]; for (int i = 0; i < threads.Length; i++) { threads[i] = new Thread(IncrementCounter); threads[i].Start(); } foreach (Thread thread in threads) { thread.Join(); } Console.WriteLine("Counter value: " + counter); } static void IncrementCounter() { for (int i = 0; i < 1000000; i++) { Interlocked.Increment(ref counter); } } } ``` 在上述示例代码中,多个线程会对 `counter` 变量进行自增操作,每个线程自增 1000000 次。由于使用了 `Interlocked.Increment` 方法,可以保证对 `counter` 变量的自增操作是原子性的,从而避免了多个线程同时对 `counter` 变量进行自增操作所导致的竞态条件问题。最终,程序会输出 `Counter value: 10000000`,表示 `counter` 变量的值被成功自增了 10000000 次。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值