我试图找到一些资源/教程,帮助我创建一个coccinelle脚本来查找结构声明,并将其从有序更改为无序。
在我们的代码库中,我们数百次地使用几个结构有人在定义中间添加了一个成员,现在我需要更新数百个声明默认值0是好的,因此如果我将所有声明从order切换到unordered,那么一切都是好的,并为下一次更改提供更多的未来证据。
前任:

struct some_struct {
   int blah;
   int blah2;
}

// code is like this now.
struct some_struct ex1 = {
   0,
   1,
};

// Need script to change to this
struct some_struct ex2 = {
   .blah1 = 0,
   .blah2 = 1
}

有人能给我指个正确的方向吗?

最佳答案

Coccinelle教程:
http://coccinelle.lip6.fr/papers.php
你也可以试试邮件列表来提问类似的事情可能会奏效:

@@
constant C1, C2;
identifier i;
@@
struct some_struct i = {
+       .blah1 =
        C1,
+       .blah2 =
        C2,
};

关于c - Coccinelle:将有序结构声明更改为无序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31597573/

10-13 06:18