问题列表 - 第29564页

在C中,是否需要在退出时释放指针?

可能重复:
退出C应用程序时,是否自动释放了malloc-ed内存?

在C中,是否需要在退出时释放指针? 当程序存在时,它是否从指向仍然指向已分配块的指针中释放内存?

它依赖于操作系统吗?

c memory free pointers

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

用PHP扩展单例

我在一个Web应用程序框架中工作,其中一部分由许多服务组成,都是作为单例实现的.它们都扩展了一个Service类,其中实现了单例行为,看起来像这样:

class Service {
    protected static $instance;

    public function Service() {
        if (isset(self::$instance)) {
            throw new Exception('Please use Service::getInstance.');
        }
    }

    public static function &getInstance() {
        if (empty(self::$instance)) {
            self::$instance = new self();
        }
        return self::$instance;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我有一个名为FileService的类实现如下:

class FileService extends Service {
    // Lots of neat stuff in here
}
Run Code Online (Sandbox Code Playgroud)

...调用FileService :: getInstance()不会像我想要的那样产生FileService实例,而是一个Service实例.我假设这里的问题是Service构造函数中使用的"self"关键字.

还有其他方法来实现我想要的东西吗?单例代码只有几行,但我仍然希望尽可能避免任何代码冗余.

php inheritance singleton anti-patterns

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

使用QThreadPool时如何做QObject :: moveToThread()?

我正在构建一个小型的多线程Web服务器.QTcpSockets在主线程中获取,然后由QtConcurrent传递给QThreadPool,QThreadPool最终处理数据并发出答案.

我的问题是套接字是在主线程中创建的,并在另一个线程中处理.这在尝试写入套接字时会导致错误:

socket->write(somedata);
Run Code Online (Sandbox Code Playgroud)

QObject:无法为位于不同线程中的父级创建子级.(Parent是QNativeSocketEngine(0x608330),父线程是QThread(0x600630),当前线程是QThread(0x505f60)

干净的方法是使用将套接字对象移动到处理线程

socket->moveToThread(QThread::currentThread()).
Run Code Online (Sandbox Code Playgroud)

但是,这只能在创建对象的线程中调用.此外,套接字将QTcpServer对象作为父对象,因此moveToThread()无论如何都会失败(父对象无法切换线程).

如何将对象移动到线程池运行的代码中的QThread :: currentThread()?或者,我如何写入创建它的线程之外的套接字?

qt multithreading qt4

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

什么操作系统不会在程序退出时释放内存?

这个问题让我很好奇.像这样的问题总能得到答案,"它通常是安全的,但你不应该假设操作系统会为你做这个",这听起来对我很好,但我想知道:有没有积极开发(发布)操作系统不这样做?

这是在恐龙时代(80年代)被修复的东西吗?

operating-system memory-management

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

多线程:线程比核心更重要的是什么?

我认为多核计算机的意义在于它可以同时运行多个线程.在这种情况下,如果你有一台四核机器,那么一次运行超过4个线程的重点是什么?难道他们不会只是在偷彼此的时间吗?

hardware multithreading cpu-cores

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

在Snow Leopard上启动MySQL错误

原始邮政

我刚刚删除并重新安装了Snow Leopard.我安装了MySQL 5.1.48 64位清理.我遇到了MySQL服务器的问题......当我启动计算机并登录时,服务器没有运行.我尝试通过单击"启动MySQL服务器"使用首选项窗格启动它,但它所做的只是突出显示按钮蓝色并想一会儿,然后按钮恢复正常并且没有任何反应.

然后我尝试从终端启动它:

Hristo$ sudo /usr/local/mysql/support-files/mysql.server start
Starting MySQL
.....................................................................
ERROR! Manager of pid-file quit without updating file.
Run Code Online (Sandbox Code Playgroud)

所以我检查了状态:

Hristo$ sudo /usr/local/mysql/support-files/mysql.server status
Password:
/usr/local/mysql/support-files/mysql.server: line 418: pidof: command not found
 ERROR! MySQL is not running
Run Code Online (Sandbox Code Playgroud)

我试过这个:

Hristo$ /usr/local/mysql/bin/mysql -u root -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Run Code Online (Sandbox Code Playgroud)

所以我不知道该怎么做.当我第一次安装时,服务器正在工作,但我去了偏好窗格试图阻止它...同样的事情发生了...我点击了"停止MysQL服务器"按钮,它做了一些思考,然后什么都没有.所以我重新启动计算机,现在我遇到了上述问题,显然,mysql.sock文件不在/ tmp /中.我安装的时候就在那里,重新启动电脑后就不存在了.

有任何想法吗?

UPDATE

这是我的/etc/my.cnf档案.

[client]
socket = /var/mysql/mysql.sock

[mysqld]
socket = /var/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)

更新2

在设置Apache,PHP和MySQL时,我按照以下说明操作:http: …

mysql sql macos osx-snow-leopard

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

特定运行配置的IntelliJ键盘快捷键

我有一个JUnit运行配置来运行我所有的单元测试.

如何将键盘快捷键绑定到该JUnit配置的运行?

intellij-idea

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

应用崩溃访问的长度时[NSData的dataWithContentsOfURL:URL]

这是问题所在:

应用程序在第二行崩溃,我得到了EXC_BAD_ACCESS异常.

NSURL *url = [NSURL URLWithString:@"..."];

NSError *error = nil;
NSData *data = [NSData dataWithContentsOfURL:url 
          options:NSDataReadingMapped 
            error:&error];
NSLog(@"Error: %@", error);
NSLog(@"%@", [data length]);
Run Code Online (Sandbox Code Playgroud)

我有:

Error: (null)
Program received signal:  “EXC_BAD_ACCESS”.
Run Code Online (Sandbox Code Playgroud)

任何的想法?

iphone

0
推荐指数
1
解决办法
1346
查看次数

php脚本删除超过24小时的文件,删除所有文件

我写这个PHP脚本删除超过24个小时,较旧的旧文件,但它删除了所有,包括较新的文件:

<?php
  $path = 'ftmp/';
  if ($handle = opendir($path)) {
     while (false !== ($file = readdir($handle))) {
        if ((time()-filectime($path.$file)) < 86400) {  
           if (preg_match('/\.pdf$/i', $file)) {
              unlink($path.$file);
           }
        }
     }
   }
?>
Run Code Online (Sandbox Code Playgroud)

php file delete-file

28
推荐指数
4
解决办法
5万
查看次数

Javascript &&运算符与嵌套if语句:什么更快?

现在,在你们全都跳过我并说"你们过分担心表演"之前,请说明一点,我更多地出于好奇而不是过分夸大的性质.那说......

我很好奇是否使用&&("和")运算符和嵌套if语句之间存在性能差异.此外,是否存在实际的处理差异?即,&& 总是处理两个语句,或者如果第一个语句失败,它会停止@第一个语句吗?这与嵌套的if语句有什么不同?

要明确的例子:

A)&&("和")运算符

if(a == b && c == d) { ...perform some code fashizzle... }
Run Code Online (Sandbox Code Playgroud)

与B)嵌套的if语句

if(a == b) {
    if(c == d) { ...perform some code fashizzle... }
}
Run Code Online (Sandbox Code Playgroud)

javascript performance conditional-operator

34
推荐指数
2
解决办法
5万
查看次数