问题标签 [pragma]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4816 浏览

ada - 在 Ada 中使用 Pragmas

谁能给我提供简单的工作示例来说明 Ada 2005 中编译指示的使用?我知道编译指示用于优先处理过程,只是我没有遇到工作示例!

非常感激 !

0 投票
3 回答
3966 浏览

c - #pragma init 和 #pragma fini 在 Linux 上使用 gcc 编译器

我想构建一些代码,在加载共享库时调用一些代码。我以为我会这样做:

所以当我用

gcc -fPIC -g -c -Wall tt.c

它返回

所以它忽略了我的#pragmas。我在实际代码中尝试了这个,我的代码中止了,因为在 pragma 部分中没有调用一个函数,因为它被忽略了。

我如何让 gcc 使用这些 #pragma init 和 fini 语句?

0 投票
1 回答
435 浏览

visual-studio - 当我尝试使用编译指示消息输出编译器定义的宏时,为什么会出现错误?

如果我使用以下代码,我想知道为什么 Visual C++ 编译器会给我一个警告/错误:

这是我得到的:

如果我尝试使用其他类似_MSC_FULL_VER或._MSV_VER__FILE____DATE__

这些宏已定义,它们记录在msdn上

0 投票
3 回答
757 浏览

concurrency - Ada 并发中的问题

我需要一些帮助,也需要一些见解。这是 Ada-2005 中的一个程序,它有 3 个任务。输出是'z'。如果这 3 个任务没有按照它们在程序中的放置顺序发生,则输出可以从 z = 2、z = 1 到 z = 0 变化(这在程序中很容易看到,尝试互斥以确保输出是 z = 2)。

我第一次尝试这个程序

(a) 没有编译指示,结果:在 100 次尝试中,出现 2:86,出现 1:10,出现 0:4。

然后

(b) 使用编译指示,结果:在 100 次尝试中,出现 2:84,出现 1:14,出现 0:2。

这是出乎意料的,因为两个结果几乎相同。这意味着输出具有相同的行为。

那些是 Ada 并发大师的人请对这个话题有所了解。还邀请了带有信号量的替代解决方案(如果可能)。

在我看来,对于一个关键过程(这就是我们对 Ada 所做的),使用 pragma 的结果应该是 z = 2,始终 100%,因此,否则这个程序应该被称为 85% 关键!!!!(Ada 不应该这样)

0 投票
4 回答
3413 浏览

c# - C# Pragma 抑制抛出错误时的中断

首先,我运行我的应用程序,任何错误(处理与否)都会引发异常。

其次,我使用 aTypeConverter将用户输入字符串转换为实际对象。

第三个TypeConverter没有提供任何TryConvert方法,所以我坚持使用异常进行验证,在这里使用这段相当难看的代码:

我发现每次输入-of-1或其他一些无效字符时让 VS 中断执行会让人分心。我可以使用与此类似的东西,但也不是所有要转换为TryParse方法的类型。

我希望可能有某种方法可以在try不更改我的异常设置的情况下禁用代码部分的中断。

0 投票
3 回答
16685 浏览

iphone - 如何在 Objective-c 中使用 sqlite3 PRAGMA user_version?

我正在尝试检查 sqlite DB 的 user_version。我有一个管理工具来提升版本,但我不明白 pragma 语句的语法。我期待在 if 语句中测试该值。有人可以提供代码示例吗?当我在我的 Objective-C 代码中嵌入 pragma 语句时,编译器会抛出一个错误。

0 投票
5 回答
2617 浏览

c - 谁能告诉我pragma语句的使用

谁能告诉我在 C 和 Ada 中使用 pragma,如果可能的话,提供一些例子。

0 投票
4 回答
5659 浏览

android - 检测表是否包含 Android/sqlite 中的列

所以我在市场上有一个应用程序,并且通过更新我想向数据库添加一些列。到目前为止没有问题。但我想检测正在使用的数据库是否缺少这些列,如果是这种情况,请添加它们。我需要动态完成此操作,而不仅仅是在更新到新版本之后,因为应用程序应该仍然能够导入旧数据库。通常我可以使用PRAGMA查询,但我不确定如何使用 Android 执行此操作。我不能使用 execSQL,因为它是一个查询,而且我不知道如何将 PRAGMA 与 query() 函数一起使用。

当然,我可以捕获异常然后添加列,或者总是在开始使用它之前将列添加到每个表中,但这不是一个简洁的解决方案。

干杯,

0 投票
3 回答
13383 浏览

optimization - gcc 内存对齐编译指示

gcc 是否有内存对齐编译指示,类似于#pragma vector aligned英特尔编译器?我想告诉编译器使用对齐的加载/存储指令优化特定循环。为避免可能的混淆,这与结构打包无关。

例如:

谢谢

0 投票
1 回答
2014 浏览

c - # pragma 指令及其在 c 中的用途

谁能告诉我#pragma 在c 语言中可以做什么。它的用途是什么以及为什么上面的程序没有在下面的程序中给出输出'inside v1'&'inside v2'......

我也想知道#pragma指令的用途是什么......请帮助