小编Jab*_*cky的帖子

使用watchOS 2在Apple Watch上渲染折线图

我试图使用watchOS 2在Apple Watch上渲染线条/步骤图.与iOS 9不同,watchOS 2不支持Quartz.它只支持Core Graphics.我尝试编写一些代码来绘制折线图但我得到一个错误"CG​​ContextRestoreGState:无效的上下文0x0.这是一个严重的错误.这个应用程序,或它使用的库,正在使用无效的上下文,从而有助于整体系统稳定性和可靠性降低.这个通知是礼貌的:请解决这个问题.在即将到来的更新中它将成为一个致命错误."

以下是我使用的代码:

import WatchKit
import Foundation
import UIKit

class InterfaceController: WKInterfaceController{
    override func awakeWithContext(context: AnyObject?) {
        super.awakeWithContext(context)
        let path = UIBezierPath()
        let startPoint =  CGPointMake(0.0, 0.0)
        path.moveToPoint(startPoint)
        let nextPoint = CGPointMake(20.0, 20.0)
        path.addLineToPoint(nextPoint)
        path.lineWidth = 1.0
        UIColor.whiteColor().setStroke()
        path.stroke()
    }

    override func willActivate() {
        super.willActivate()

    }

    override func didDeactivate() {
        super.didDeactivate()
    }
}
Run Code Online (Sandbox Code Playgroud)

我的最终结果应该像Apple Watch上的Stocks app一样.每当用户点击特定股票时,他将能够查看/可视化该股票的统计数据.任何人都可以帮助我实现这一目标.

ios swift watchkit watchos-2

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

如何禁用组框时禁用组框文本?

我面临着组合框文本的问题.我通过调用EnableWindow(FALSE)禁用了groupbox,问题是组框标题没有变灰.

任何人都可以让我知道为什么会发生这种情况以及如何摆脱这个问题.

winapi mfc

6
推荐指数
1
解决办法
1030
查看次数

windows fopen 随机失败,权限被拒绝

我正在尝试读取和写入计算机 C 驱动器中的文件。该fopen()功能随机失败。

FILE *fp = fopen(strIn, "r");
if(fp == NULL){
    printf("Error: %d (%s)\n", errno, strerror(errno));
    getchar();
}
Run Code Online (Sandbox Code Playgroud)

这个调用有时会成功,有时会失败。无法预测原因。我总是在管理模式下运行它。这是否可能是Windows问题?它得到的错误消息是 error -13 , permission denied。我试过打电话

_chmod(outFile , _S_IREAD);
Run Code Online (Sandbox Code Playgroud)

并检查返回值,然后调用fopen()。又失败fopen()了。

c windows winapi fopen permission-denied

6
推荐指数
0
解决办法
1892
查看次数

语法框架 GF 和 owl

我对计算语言学和自然语言处理领域感兴趣。我读了很多关于语法框架(GF)的内容,它分为抽象语法和具体语法。我对 OWL、RDF 和 WordNet 也了解一点。我对这两种技术之间的差异感到困惑。

  1. 我们可以使用 GF 而不是 OWL 作为语法构建器吗?
  2. 我们可以使用 GF 来消除 Parser 吗?
  3. GF 是否包含所有术语,因此我们不需要使用 WordNet?

nlp owl wordnet gf

6
推荐指数
1
解决办法
402
查看次数

C语言中二维数组声明中的歧义

我已经用以下格式定义了数组,但显然该程序仅在CASE B中正常工作.

案例A:

int **M1;
M1 = (int **)malloc(m * sizeof(int *));
for (int i=0; i<m; i++){
    M1[i] = (int *)malloc(d * sizeof(int));
} 
Run Code Online (Sandbox Code Playgroud)

案例B:

int (*M1)[m] = malloc(sizeof(int[m][d]));
Run Code Online (Sandbox Code Playgroud)

我在CASE A中遇到了分段错误.可能是什么原因?

c arrays malloc pointers

6
推荐指数
1
解决办法
154
查看次数

在C中一起使用fscanf和fprintf

#include <stdio.h>
#include <stdlib.h>

#define FILE_NAME "ff.txt"

int main() {        
    char x[10],y[10];
    FILE *fp;
    fp = fopen(FILE_NAME, "r+");
    if (fp == NULL) {
        printf("couldn't find %s\n ",FILE_NAME);
        exit(EXIT_FAILURE);         

    }
    fprintf(fp,"Hello2 World\n");
    fflush(fp);   
    fscanf(fp,"%s %s",x,y);
    printf("%s %s",x,y);
    fclose(fp);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我想要做的简化版本.此代码不会在控制台中打印任何内容.如果我删除了fprintf调用,它会打印文件中的前两个字符串,对我而言Hello2 World.为什么会这样?即使在我fflushfp

c fopen file-handling

6
推荐指数
1
解决办法
821
查看次数

使用mmap()而不是malloc()

我正在尝试完成一个使用系统调用完成的练习,并且需要为struct*分配内存.我的代码是:

myStruct * entry = (myStruct *)mmap(0, SIZEOF(myStruct), PROT_READ|PROT_WRITE,
MAP_ANONYMOUS, -1, 0);
Run Code Online (Sandbox Code Playgroud)

澄清一下,我不能使用malloc()但可以使用mmap().我在Netbeans上的Windows上没有遇到任何问题,但是现在我正在编译并在Ubuntu上从命令行运行我每次尝试访问它时都会收到"Segmentation Fault".

有没有理由说它可以在一个而不是另一个上工作,并且是以mmap()这种方式分配内存的有效方法?我担心的是我最初会为每次mmap()调用分配大块内存,现在我无法让它运行.

另外,我的mmap返回的错误是22 - 无效参数(我在编写问题时做了一些故障排除,因此错误检查不在上面的代码中).地址为0,自定义SIZEOF()函数在其他mmap参数中工作,我使用的MAP_ANONYMOUSfdoffset参数必须分别为-1和0.

这些PROT_READ|PROT_WRITE部分有问题吗?

c malloc mmap

6
推荐指数
1
解决办法
867
查看次数

为什么visual studio会提供另一个结果而不是g ++?这里涉及未定义的行为吗?

此C++代码旨在将文件中的数据从67~69移动到70~72:

#include <fstream>
#include <iostream>

int main() {
  std::fstream file("test", std::ios::out);
  file.close();
  file.open("test", std::ios::binary | std::ios::in | std::ios::out);
  for (char i = 0; i < 127; ++i) 
    file.write(&i, 1);

  file.seekp(70);
  file.seekp(-3, std::ios::cur);

  char s[100];
  for (int i = 0; i < 100; ++i)
    s[i] = '\0';

  file.read(s, 3);
  for (int i = 0; i < 3; ++i)
    std::cout << (int)s[i] << " ";

  std::cout << std::endl;

  file.write(s, 3);
  file.seekp(-3, std::ios::cur);
  file.read(s, 3);

  for (int i = 0; i < 3; …
Run Code Online (Sandbox Code Playgroud)

c++ gcc fstream visual-studio

6
推荐指数
0
解决办法
146
查看次数

处理/防止非 UWP Win32 应用程序在 Windows 10 中挂起

我有一个用 C++ 编写的旧版 Win32 应用程序,它在系统上持续运行以监控系统健康相关参数。最近,我开始面临应用程序在 Windows 10 上每 2-3 天暂停并变得无响应的问题。经过一番研究,我了解到最近的 Windows 10 版本中引入的一项新功能,该功能会主动查找未被主动使用的进程并挂起这些进程以节省 CPU 和 RAM 等系统资源。虽然我遇到了几篇文章(参考链接之一是这个) 在该状态下,Windows 10 有大约 5-10 秒的等待时间,之后如果用户不主动使用它,它会将进程移至挂起状态。现在,我的应用程序每 30 秒向远程服务器发送一条 UDP 消息,向服务器表明该应用程序正在机器上运行。以下是我的问题:

  1. 有没有办法防止应用程序被挂起,或者有办法将此超时增加到一个相对较大的值,以便应用程序保持活动状态?
  2. 还有其他非基于 UI 的应用程序也在我的系统上运行,它们相对不太活跃,但它们永远不会被挂起,这是否仅适用于基于 UI 的应用程序?
  3. 虽然有一些像这样的引用在您的应用程序中添加特殊处理以捕获来自 Windows 的挂起消息并在您的应用程序中保存必要的状态,但所有这些引用都是基于 C# 的。有人可以指出我对 C++ 的类似参考吗?
  4. 有什么方法可以跟踪 Windows 以某些事件日志或 Windows 日志的形式暂停应用程序的时间和原因?

附加信息:我尝试使用资源监视器和进程资源管理器手动暂停/恢复应用程序,因为应用程序不会立即暂停以了解行为,但没有运气。我有一种感觉,他应该在应用程序本身中处理,因为当前没有处理应用程序变得无响应。

由于我被困在这里几天,因此非常感谢任何帮助。

提前致谢!

c++ windows win32gui windows-10-desktop

6
推荐指数
0
解决办法
1274
查看次数

哪种形式对于嵌入式 C 函数的返回值更好?

我正在研究嵌入式 C。有人可以帮助我哪一段代码吗?

在鲁棒性、内存以及 Misra 友好方面是否高效?

代码1:

if (func() == 1 || func() == 2) {
    /* Body of the function */ 
}
Run Code Online (Sandbox Code Playgroud)

代码2:

locvar = func();

if (locvar == 1 || locvar == 2) {
    /* Body of the function */    
}
Run Code Online (Sandbox Code Playgroud)

c embedded misra

6
推荐指数
2
解决办法
323
查看次数