小编use*_*126的帖子

记录C#程序的执行路径?

我正在寻找一种方法来记录程序的执行路径(即程序/方法在特定执行中采取的分支)到文件中.我需要这条信息来了解我的输入采取的路径并做出与绩效相关的决策.

C#的Prof-It看起来非常有前途,但不幸的是它不支持最新版本的Visual Studio.

我目前的计划是在程序的每个分支处生成一个唯一的ID,并在执行期间记录该id.但是,这似乎是一个非常耗时的过程.

c# trace

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

将静态数组更改为动态数组,只需更改很少?

我有一个C代码,它创建一个char指针数组,如下所示:

char* arr[100];
Run Code Online (Sandbox Code Playgroud)

我使用此数组中的每个元素指向一个由另一个函数计算的字符串.所以基本上arr [0]会指向string1,arr [1]指向string2等.

这很好用.但是,现在要求用户指定字符串数作为参数,以使其更加灵活.

如何在对代码进行最小更改的情况下执行此操作?我知道我需要使用malloc.但是我在之前的所有赋值语句中都收到了很多警告.我更改了数组的声明如下:

char* arr = (char*)malloc(n * sizeof(char*)); //where n is provided by user
Run Code Online (Sandbox Code Playgroud)

我以为我只需要改变声明.现在所有的赋值语句都给出了警告("赋值使得没有强制转换的指针产生整数").以下是赋值语句的示例:

arr[i] = str; //where str is defined as char* and is calculated by another function
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?

c malloc

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

C#、线程优先级和锁

在 C# 中,如果一个高优先级任务已准备好执行,而另一个(低优先级)线程已在监视器内,则在以下两种情况下,低优先级任务是否会被抢占:

  1. 较高优先级任务想要获取由低优先级任务获取的一个(或多个)锁。
  2. 高优先级任务不需要低优先级任务获取的任何锁。

编译器/操作系统在任务抢占方面是否做了任何聪明的事情,或者总是出现较高优先级任务总是抢占较低优先级任务的情况?

c# multithreading locking preemption

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

标签 统计

c# ×2

c ×1

locking ×1

malloc ×1

multithreading ×1

preemption ×1

trace ×1