问题列表 - 第17262页

便携式等同于gcc的__attribute __(清理)

最近我遇到了一个gcc扩展,我发现它非常有用: __attribute__(cleanup)

基本上,这允许您在退出范围时为局部变量分配清理调用.例如,给定以下代码部分,必须在调用期间的任何和所有情况下显式维护和处理所有内存foo.

void foo() {
   char * buff = ...; /* some memory allocation */
   char * buff2 = 0, * buff3 = 0;
   if (! buff) {
      return;
   } else {
      buff2 = ...; /* memory allocation */
      if (! buff2) {
         goto clean_exit;
      } else {
         /* ... and so on ... */
      }
   }

clean_exit:
   free (buff);
   free (buff2);
   free (buff3);
}
Run Code Online (Sandbox Code Playgroud)

但是,通过使用可以减少到的扩展名

#define clean_pchar_scope __attribute__((cleanup(pchar_free)))

void pchar_free (char ** c) { free (*c); …
Run Code Online (Sandbox Code Playgroud)

c portability gcc garbage-collection scope

15
推荐指数
3
解决办法
4880
查看次数

我为什么要编写符合CLS的代码?

我发现了很多关于CLS合规性的网页.

我了解CLS合规性:

许多人写道:"如果你编写代码,你应该把它写成符合CLS的." 但据我所知,没有理由在通用软件中使用CLS.

我是对的,还是我错过了什么?

c# cls-compliant

61
推荐指数
4
解决办法
2万
查看次数

ASP.net C# - WINWORD.exe

我正在使用ASP.NET/C#程序中的Microsoft Word文档.

我的程序在内部打开word文档.运用

app = new Word.Application();
app.Documents.Open
Run Code Online (Sandbox Code Playgroud)

它创建了一个winword.exe进程的实例,我可以在任务管理器中看到它.

即使我使用close()和关闭Doc app.quit().它应该杀死这个过程.但这个过程并没有被杀死.

任何想法如何以编程方式杀死这个过程.

asp.net ms-office

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

检查钥匙是否关闭?

有没有办法检测JavaScript当前是否存在关键字?

我知道"keydown"事件,但这不是我需要的.按键后一段时间,我希望能够检测到它是否仍然按下.

PS最大的问题似乎是,在一段时间后,密钥开始重复,启动keydown和keyup事件,如恶魔.希望只有一个简单的isKeyDown(key)函数,但如果没有,则需要克服/解决这个问题.

javascript keyboard input

82
推荐指数
5
解决办法
10万
查看次数

如何在Java中解析这样的URI

我正在尝试解析以下URI:http://translate.google.com/#zh-CN | en |你

但收到此错误消息:

java.net.URISyntaxException: Illegal character in fragment at index 34: http://translate.google.com/#zh-CN|en|?
        at java.net.URI$Parser.fail(URI.java:2809)
        at java.net.URI$Parser.checkChars(URI.java:2982)
        at java.net.URI$Parser.parse(URI.java:3028)
Run Code Online (Sandbox Code Playgroud)

它有问题"|" 如果我摆脱"|",最后一个中文字符没有引起任何问题,处理这个问题的正确方法是什么?

我的方法看起来像这样:

  public static void displayFileOrUrlInBrowser(String File_Or_Url)
  {
    try { Desktop.getDesktop().browse(new URI(File_Or_Url.replace(" ","%20").replace("^","%5E"))); }
    catch (Exception e) { e.printStackTrace(); }
  }
Run Code Online (Sandbox Code Playgroud)

谢谢你的答案,但BalusC的解决方案似乎只适用于url的一个实例,我的方法需要使用我传递给它的任何url,它怎么知道将url切成两部分的起点在哪里只编码第二部分?

java parsing uri

8
推荐指数
4
解决办法
3万
查看次数

如何在更新代码中的项目时暂时禁用电子邮件通知?

我在更新项目时暂时禁用电子邮件通知时遇到问题,因此系统不会发送任何不必要的电子邮件.我想要完成的是禁用警报,更新项目,然后启用警报.

SPList tasklist = Web.Lists ["Tasks"];

tasklist.EnableAssignToEmail = false; //此属性使发送邮件被禁用

tasklist.Update();

//在这里做所有更新

项目["标题"] ="新标题"; Item.update();

tasklist.EnableAssignToEmail = true; //启用电子邮件通知

tasklist.Update();

一旦我启用了警报,代码中间所做的更改仍会启动警报并发送电子邮件.
谁有更好的想法来解决这个问题?谢谢.

email sharepoint notifications alert sharepoint-2007

4
推荐指数
1
解决办法
3304
查看次数

如何让Haskell计算出正确的多态类型?

我刚刚意识到小on功能有多么有用.

例如:

orderByLength = sortBy (compare `on` length) 
Run Code Online (Sandbox Code Playgroud)

但不幸的是,推断类型可能有点违反直觉.

根据这个定义

f `on` g = \x y -> f (g x) (g y)
Run Code Online (Sandbox Code Playgroud)

一个人可以替代

(==) `on` length
Run Code Online (Sandbox Code Playgroud)

\x y -> (length x) == (length y)
Run Code Online (Sandbox Code Playgroud)

但两者都有不同的类型!

第一个有[a] -> [a] -> Bool第二个,而第二个有正确的,更通用的类型[a] -> [b] -> Bool.

这不允许明显正确的术语(on (==) length) [1, 2, 3] ["a", "b", "c"](这应该产生True但现在甚至无法进行类型检查).

我知道这个限制是由于使用了一流类型而引起的,但是如何克服这个问题呢?有人可以制定一个on可以正确处理多态函数的实现(使用通用量化/秩n类型)吗?

polymorphism haskell types functional-programming

7
推荐指数
1
解决办法
328
查看次数

程序员友好的搜索引擎?

Google对使用$和#等字符搜索逐字字符串不友好.是否有搜索引擎支持搜索逐字字符串?

我知道这个问题刚才被问过,但没有得到任何好的答案.如果我仍然无法得到答案,我准备好了.当然,完全有可能没有一个,但我想确定:)

编辑:行情不起作用.Google甚至在引用时也会删除符号.

示例查询:为makefile中的$ <变量创建"$ <".

search search-engine

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

选择什么设置存储格式?

我正在编写Qt应用程序,需要存储程序的设置.我希望非高级用户可以轻松编辑它们,但对高级用户来说足够灵活(因此可以通过其他程序,脚本等方便地进行自动编辑).QSettings提供两种格式,原生格式(适用于Windows是注册表)和INI格式(适用于大多数其他平台).INI很好,但是看到@QString(...)或其他Qt内容并不是真的可读并且有点容易出错.

注册表也不是很好.它不是为了编辑或高级使用而设计的,因此不是很好; 它确实解决了跨线程和多个QSettings对象的同步问题(所以我不会擦除所有内容,尽管我可以使用一个全局对象,受读写锁定器保护).我正在研究XML,但它非常冗长,它需要编写QSettings格式(不是真正的问题),但非常灵活.

我知道存在其他XML替代方案,但我并不熟悉它们; 我当然不想写一个解析器,我自己的最终格式的异常,而不是基本的东西.

更新 - 注意:我根本不会绕过QSettings,我只会为它编写一个格式 - 看起来它只是两个函数指针(用于读取和写入函数)传递给静态函数然后我可以使用我的格式.

更新2:我也担心Linux服务器,它通常没有GUI ..我希望人们能够通过nano或类似的东西轻松地从服务器编辑配置,而不使用管理器(是的,我会有一个守护进程服务器和一个远程GUI管理器).

xml format settings ini qt

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

在Objective-C中将NSArray转换为NSString

我想知道如何将NSArray 转换为Objective-C中[@"Apple", @"Pear ", 323, @"Orange"]的字符串.

arrays objective-c nsstring nsarray

183
推荐指数
5
解决办法
18万
查看次数