是否可以用两种不同的语言对一个项目进行评论,然后通过 naturaldocs 生成两个文档?例如,在 doxigens 中,这种格式用于:
/**
* \~english @brief Sample method.
* \~polish @brief Przykladowa metoda.
*/
是否可以用两种不同的语言对一个项目进行评论,然后通过 naturaldocs 生成两个文档?例如,在 doxigens 中,这种格式用于:
/**
* \~english @brief Sample method.
* \~polish @brief Przykladowa metoda.
*/
如何在 GCC 中组织程序的自定义构建?假设我们有以下一组独立的源文件:
Vec2.c
Vec3.c
Mat3.c
, 收藏在图书馆libMegaSuperMath.a
。树桩很清楚,通过链接这样的库,我们将其所有内容包含在最终的可执行模块中(或者我们不包含它?)。
如果使用此类库的程序不需要它的某些组件,如何组织选择性链接?GCC 会删除未使用的结构、函数和数据吗?为此需要哪些优化标志?在这种情况下,将库的各个“类”构建到目标文件中,并基于所需的“类”构建汇编指令是否可以接受?像这样的东西:
Vec2.o
Vec3.o
Mat3.o
和
cc NewUberTurboProgramm.c Vec2.o Mat3.o -o Run.exe
如何正确初始化本机循环器(ALooper_addFd(...)
),以及如何准确地将输入队列(onInputQueueCreated(...){...AInputQueue_attachLooper(...);...}
)与其关联,以便与循环器关联的描述符中数据的到达引发对函数的调用,例如:ALooper_callbackFunc
?使用这种方法值得吗?使用调用会不会更快(就程序速度而言ALooper_pollOnce(0,...)
)ALooper_pollAll(0,...)
?
如何正确使用这个东西?我用它来提高滑动(和时间测量)的准确性。是否需要在程序开始时设置一个句点,然后在退出时将其剪掉?:
int main(void){
timeBeginPeriod(1);
for(;;){
... // много кода
myUsleep(dt);
}
timeEndPeriod(1);
return 0;
}
或者你可以这样做吗?:
int main(void){
for(;;){
... // много кода
timeBeginPeriod(1);
myUsleep(dt);
timeEndPeriod(1);
}
return 0;
}
我怀疑这是一个愚蠢的问题。但我无法得到答案。假设我们有一段记忆:
void *mem = malloc(32);
假设您想创建一些东西,例如:
int *ptr;
这样这个东西就位于 address&mem
,就像在工会中发生的那样。
目标是尝试实现一个小的malloc。
这是现有测试代码的示例,其中在数组外部创建了一个新指针(而不是应有的样子)(只是不要发誓,不要smack):
int main(void){
void *mem,*mpt;
if( (mpt=mem=malloc(32)) == NULL )
puts("Allocation error!"),abort();
unsigned long *ctm;
ctm=mpt;
mpt+=sizeof(ctm);
*ctm=13;
printf("mem [%p] %p \n", &mem, mem );
printf("mpt [%p] %p \n", &mpt, mpt );
printf("ctm [%p] %p %lu \n", &ctm, ctm,*ctm);
return 0;}
我收集所以:cc -Werror -o Test Test.c -std=c11
显然,带有装配插件的变体不适合,因为 需要为不同架构的组装保留多功能性。
有一个用Java编写的android游戏。有一个适用于 Windows 和 Linux 的工作端口。很明显,您需要使用 Launch4j 之类的东西。很明显,自己为安装程序编写一个包装器并不难。但目前尚不清楚在哪里可以获得免费的 JVM,它可以被拧入安装程序而不用良心折磨,并出售整个东西,例如,在 steam 或 gog 上。我对 HotSpot 许可证一无所知,更不用说 Oracle 许可证了。