小编ace*_*mtp的帖子

PIC 18F上的PORT和LATCH之间的差异

我已经阅读了数据表和谷歌,但我仍然不明白.

在我的例子中,我在INPUT模式下设置PIC18F26K20的PIN RC6:

TRISCbits.TRISC6 = 1;

然后我用PORT和LATCH读取值,我有不同的价值!

v1 = LATCbits.LATC6;

v2 = PORTCbits.RC6;

v1给出0,其中v2给出1.

这是正常的吗?在这种情况下,我们必须使用PORT,在这种情况下LATCH?

port pic pic18

25
推荐指数
3
解决办法
7万
查看次数

msbuild:在命令行中设置一个特定的预处理器#define

在C++文件中,我有一个这样的代码:

#if ACTIVATE
#   pragma message( "Activated" )
#else
#   pragma message( "Not Activated")
#endif
Run Code Online (Sandbox Code Playgroud)

我想使用msbuild命令行将此ACTIVE定义设置为1.

它尝试了这个,但它不起作用:

msbuild /p:DefineConstants="ACTIVATE=1"
Run Code Online (Sandbox Code Playgroud)

任何的想法?

c++ msbuild visual-studio

21
推荐指数
6
解决办法
3万
查看次数

如何根据MySQL中的用户登录设置连接超时

我目前有超过100个处于睡眠状态的连接.

某些连接必须保持睡眠状态(并且不要关闭),因为它是永久连接,但是其他一些(具有不同的用户名)来自某些PHP脚本,我希望它们能够非常快地超时.

是否可以为每个用户设置wait_timeout?如果是,怎么样?

mysql timeout

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

是否可以对AES256进行逆向工程?

想象一下,我有这个:

$cdata = AES_256($data, $pass);
Run Code Online (Sandbox Code Playgroud)

AES_256实现了AES算法.

如果我知道内容$cdata和内容$data并且还有AES_256()代码,我可以进行逆向工程并找到$pass吗?

encryption cryptography aes cryptanalysis

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

我有gcc优化错误或C代码问题吗?

测试以下代码:

#include <stdio.h>
#include <stdlib.h>
main()
{
    const char *yytext="0";
    const float f=(float)atof(yytext);
    size_t t = *((size_t*)&f);
    printf("t should be 0 but is %d\n", t);
}
Run Code Online (Sandbox Code Playgroud)

编译它:

gcc -O3 test.c
Run Code Online (Sandbox Code Playgroud)

GOOD输出应该是:

"t should be 0 but is 0"
Run Code Online (Sandbox Code Playgroud)

但是使用我的gcc 4.1.3,我有:

"t should be 0 but is -1209357172"
Run Code Online (Sandbox Code Playgroud)

c gcc

10
推荐指数
4
解决办法
5981
查看次数

检测.bat中的svn变化

我有一个.bat,在.bat里面我想执行一个特殊的代码,如果在svn存储库中有一些修改(例如,编译).

svn

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

哪种解释语言可以用于微芯片PIC32?

我正在寻找适用于微芯片PIC32的解释语言.

目前,我发现LUAPAWN正在工作,但在选择之前,我想知道是否已知某些其他语言在PIC32中工作.

embed embedded microchip pic

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

使用微芯片c18编译器在pic18f上创建大缓冲区

使用带有pic18f的Microchip C18编译器,我想在程序数据空间中创建一个3000字节的"大"缓冲区.

如果我把它放在main()(堆栈上):

char tab[127];
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

Error [1300] stack frame too large
Run Code Online (Sandbox Code Playgroud)

如果我把它放在全局,我有这个错误:

Error - section '.udata_main.o' can not fit the section. Section '.udata_main.o' length=0x0000007f
Run Code Online (Sandbox Code Playgroud)

如何创建一个大缓冲区?你有关于如何使用c18管理pic18f上的大缓冲区的教程吗?

microchip pic pic18

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

如何在Mac OS X上增加C中"最大打开文件"的限制

Mac OS X上最大打开文件的默认限制为256(ulimit -n),我的应用程序需要大约400个文件处理程序.

我尝试用setrlimit()更改限制,但即使函数正确执行,我仍然限制为256.

这是我使用的测试程序:

#include <stdio.h>
#include <sys/resource.h>

main()
{
  struct rlimit rlp;

  FILE *fp[10000];
  int i;

  getrlimit(RLIMIT_NOFILE, &rlp);
  printf("before %d %d\n", rlp.rlim_cur, rlp.rlim_max);

  rlp.rlim_cur = 10000;
  setrlimit(RLIMIT_NOFILE, &rlp);

  getrlimit(RLIMIT_NOFILE, &rlp);
  printf("after %d %d\n", rlp.rlim_cur, rlp.rlim_max);

  for(i=0;i<10000;i++) {
    fp[i] = fopen("a.out", "r");
    if(fp[i]==0) { printf("failed after %d\n", i); break; }
  }

}
Run Code Online (Sandbox Code Playgroud)

输出是:

before 256 -1
after 10000 -1
failed after 253
Run Code Online (Sandbox Code Playgroud)

我不能要求使用我的应用程序的人在/ etc文件或其他内容中查找.我需要应用程序自己完成它.

c macos system ulimit

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

pop_back()是否真的使std :: vector上的*all*迭代器无效?

std::vector<int> ints;

// ... fill ints with random values

for(std::vector<int>::iterator it = ints.begin(); it != ints.end(); )
{
    if(*it < 10)
    {
        *it = ints.back();
        ints.pop_back();
        continue;
    }
    it++;
}
Run Code Online (Sandbox Code Playgroud)

此代码无效pop_back(),因为调用时it无效.但是我找不到任何关于迭代器失效的文档std::vector::pop_back().

你有相关的链接吗?

c++ stl

5
推荐指数
3
解决办法
6084
查看次数