Как я могу запустить несколько сценариев npm параллельно?

Если вы используете GCC, вы можете сделать свою функцию weak. Эти могут быть переопределены с помощью слабых функций:

test.c:

#include 

__attribute__((weak)) void test(void) { 
    printf("not overridden!\n"); 
}

int main() {
    test();
}

Что он делает?

$ gcc test.c
$ ./a.out
not overridden!

test1.c:

#include 

void test(void) {
    printf("overridden!\n");
}

Что он делает?

$ gcc test1.c test.c
$ ./a.out
overridden!

К сожалению, это не сработает для других компиляторов. Но вы можете иметь слабые объявления, которые содержат переопределяемые функции в собственном файле, помещая только включение в файлы реализации API, если вы компилируете с использованием GCC:

weakdecls.h:

__attribute__((weak)) void test(void);
... other weak function declarations ...

functions.c:

/* for GCC, these will become weak definitions */
#ifdef __GNUC__
#include "weakdecls.h"
#endif

void test(void) { 
    ...
}

... other functions ...

Недостатком этого является то, что он не работает полностью , не делая ничего с файлами api (для этих трех строк и слабых делений) , Но как только вы сделали это изменение, функции можно легко переопределить, записав глобальное определение в один файл и связав это.

422
задан E_net4 27 November 2017 в 20:59
поделиться