问题列表 - 第25706页

GCC动态库构建问题

我是linux的新手,在使用动态库进行编译时,我收到了segmentationfault错误.

我有两个文件

ctest1.c

void ctest1(int *i)
{ 
   *i =10;
}
Run Code Online (Sandbox Code Playgroud)

ctest2.c

void ctest2(int *i)
{ 
   *i =20;
}
Run Code Online (Sandbox Code Playgroud)

我已使用以下命令将这两个文件编译到名为libtest.so的共享库中

  gcc -shared -W1,-soname,libtest.so.1 -o libtest.so.1.0.1 ctest1.o ctest2.o -lc
Run Code Online (Sandbox Code Playgroud)

我已经编写了另一个程序prog.c,它使用了这个库导出的函数

prog.c中

#include <stdio.h>

void (*ctest1)(int*);
void (ctest2)(int*);


int main()
{
  int a;

  ctest1(&a);

  printf("%d",a);

  return 0;

}
Run Code Online (Sandbox Code Playgroud)

当我使用以下命令构建可执行文件时

gcc -Wall prog.c -L.-o prog

但是当我运行生成的可执行文件时,我得到了SegmentationFault错误.

当我用ldd检查prog的标题时,它显示出来

linux-vdso.so.1 =>(0x00007f99dff000)libc.so.6 => /lib64/libc.so.6(0x0007feeaa8c1000)/lib64/ld-linux-x86-64.so.2(0x00007feeaac1c000)

有人可以说出问题所在

gcc dynamic-linking

2
推荐指数
1
解决办法
981
查看次数

AsyncTask线程规则 - 真的只能使用一次吗?

AsyncTask文档中,它提供了以下与线程相关的规则:

  • 该任务只能执行一次(如果尝试第二次执行,则会抛出异常.)

所有这些意味着你每次想要使用它时都必须创建一个新的类实例,对吧?换句话说,必须这样做:

new DownloadFilesTask().execute(url1, url2, url3);
new DownloadFilesTask().execute(url4, url5, url6);
Run Code Online (Sandbox Code Playgroud)

或者相反,您不能执行以下操作:

DownloadFilesTask dfTask = new DownloadFilesTask();
dfTask.execute(url1, url2, url3);
dfTask.execute(url4, url5, url6);
Run Code Online (Sandbox Code Playgroud)

有人可以验证这是一个准确的解释吗?

我知道自己刚刚给自己解答了这个问题,因为我正在输入这个......但是对我来说并不是很明显,所以我认为尽管如此,这仍然很有用.

android android-asynctask

46
推荐指数
2
解决办法
9804
查看次数

这个陈述有意义吗?(Sun的Java变量命名约定)

过去几天我一直在引用Sun的文档中的这一部分,现在我才停下来思考它的内容,我无法理解它.请记住,英语不是我的第一语言.

命名约定

变量:除变量外,所有实例,类和类常量都是小写的第一个字母.

这有什么意义?这不是说这个类名是小写的首字母大小写的吗?就像我应该说出来的那样class myClass?类常量也是大小写的首字母大小写的混合大小写?喜欢而不是Integer.MAX_VALUE,它应该被命名integer.maxValue

它是否真的在说变量本身应如何命名?

我没有正确解析这个或者这实际上是一个明显的错误?

java naming-conventions

8
推荐指数
1
解决办法
1014
查看次数

你如何在Wicket的PropertyColumn中建立一个链接?

我成功地制作了一个AjaxFallbackDefaultDataTable,但我想制作单元格链接的内容.如何使用Apache Wicket执行此操作?

wicket

2
推荐指数
1
解决办法
3330
查看次数

UISearchDisplayController - 如何仅选择范围按钮但显示空搜索字符串来显示搜索结果

UISearchDisplayController非常方便,实现搜索非常简单.

但是,当我在我的应用程序中,我希望显示搜索结果为空搜索字符串但选择范围按钮时,我遇到了问题.

似乎必须输入一些搜索字符串才能使搜索结果表初始化和显示.

有没有办法在用户选择范围但未输入搜索词后立即显示搜索结果?

谢谢比尔

iphone uisearchdisplaycontroller

9
推荐指数
1
解决办法
2598
查看次数

常见的lisp灰色流

有关于如何使用灰色流的教程吗?

我想创建一个在查找特定字节集时从文件读取的类.我最初的想法是使用灰色流,但找不到任何起始信息.

common-lisp stream

8
推荐指数
2
解决办法
1286
查看次数

在JDBC/PostgreSQL中使用SQL数组类型更新ResultSet

我正在尝试使用PostgreSQL 8.4和JDBC4驱动程序的SQL数组类型.

我的专栏定义如下:

nicknames           CHARACTER VARYING(255)[]    NOT NULL
Run Code Online (Sandbox Code Playgroud)

而我正试图这样更新它:

row.updateArray("nicknames", 
    connection.createArrayOf("CHARACTER VARYING", p.getNicknames().toArray()));
Run Code Online (Sandbox Code Playgroud)

(p.getNicknames()返回List<String>)

但我看到了:

org.postgresql.util.PSQLException:无法找到提供名称CHARACTER VARYING的服务器数组类型.at org.postgresql.jdbc4.AbstractJdbc4Connection.createArrayOf(AbstractJdbc4Connection.java:67)at org.postgresql.jdbc4.Jdbc4Connection.createArrayOf(Jdbc4Connection.java:21)

不幸的是,数组类型似乎没有很好的文档记录 - 我没有找到确切的提到如何在PostgreSQL任何地方这样做:(

有任何想法吗?

java arrays postgresql jdbc

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

用于匹配具有非法文件名字符的字符串的正则表达式

我一直想弄清楚这个爆破正则表达怎么样两个小时!现在是午夜我想弄清楚,然后去睡觉!

String str = new String("filename\\");
if(str.matches(".*[?/<>|*:\"{\\}].*")) {
    System.out.println("match");
}else {
    System.out.println("no match");
}
Run Code Online (Sandbox Code Playgroud)

".*[?/<>|*:\"{\\}].*"是我的正则表达式.除了反斜杠之外,它能正确捕获所有内容!我需要知道如何正确地抓住反斜杠请帮助!

仅供参考,我想抓到的非法角色是?\/<> |*:"我的反斜杠工作异常了

java regex

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

如何编辑.htaccess以同时允许rails和wordpress请求?

我想在我的rails应用程序中运行wordpress的实例。我目前在public / wordpress中拥有wordpress文件,但是我需要配置.htaccess文件以允许两种类型的请求。我怎么做?目前,.htaccess是:

Apache常规选项
AddHandler fcgid-script .fcgi RewriteRule上的
RewriteEngine
^ $ index.html [QSA]
RewriteRule ^([^。] +)/!$ $ 1.html [QSA]
RewriteCond%{REQUEST_FILENAME}!-f
RewriteRule ^(。 *)$ dispatch.fcgi [QSA,L]
ErrorDocument 500“应用程序错误应用程序无法正确启动”

apache wordpress .htaccess ruby-on-rails

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

使用javascript创建和解析大字符串?

我有一个简单的数据存储在服务器上,作为一个普通的字符串.这有点荒谬,但它看起来像这样:

name|date|grade|description|name|date|grade|description|repeat for a long time
Run Code Online (Sandbox Code Playgroud)

这个字符串的大小最多可达1.4mb.这个想法是,它是一堆学生记录,只是简单的管道分隔线.这是一个非常差的序列化方法.

一旦将这个庞大的字符串推送到客户端,它就会使用javascript再次沿着管道分成学生记录.

我已经计算了在客户端创建和拆分这些字符串需要多长时间.时间实际上非常好,我在几台不同的机器上看到的最慢的运行时间为10,000秒'学生记录'为0.2秒,最终字符串大小为~1.4mb.

我意识到这很奇怪,只是想知道使用javascript创建和拆分这么大的字符串是否有任何固有的问题?我不知道不同的浏览器如何实现他们的javascript引擎.我在'主要'浏览器上试过这个,但是不知道它会如何在每个版本的早期版本上执行.

是的,寻找任何评论,这比其他任何东西更有趣!

谢谢

javascript

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