小编Hai*_*iri的帖子

GCC __attribute__ ((对齐 (8))) 不起作用

我在其他帖子中写过这个问题。虽然事实并非如此。

GCC编译器版本:4.8.3(适用于ARM)

代码摘录:

uint8_t data[4] __attribute__ ((aligned (8))) = {1,2,3,4};

int main()
{
    uint32_t p = 0;
    p = (uint32_t)&data[0];
    p = (uint32_t)&data[1];
    p = (uint32_t)&data[2];
    p = (uint32_t)&data[3];
}
Run Code Online (Sandbox Code Playgroud)

请注意,数据位于任何函数之外,因此不会堆栈中分配。

我看到的结果(调试时)是p536870912, 536870913, 536870914, 536870915;

我期待这样的事情:536870912, 536870920, 536870928, 536870936

任何帮助将非常感激。

c gcc

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

如何通过链接描述文件将符号放置在特定地址处?

这是关于 GNU Linker 的。

我有一个(可以说)名为 的变量myVar。现在我希望我的变量被放置在内存中的某个地址。

我使用的编译器有一个__attribute__ ((blablabla))可以解决这个问题的方法。不过我决定使用链接描述文件。

从现在起,我设法将变量放置在链接器脚本中的某个地址处,如下所示:

myVar  = 0xDEAD;
Run Code Online (Sandbox Code Playgroud)

它确实有效。问题是链接器很愚蠢,偶尔会在我的地址上部署其他变量。两者在某种程度上都表现得像在union.

我认为我需要以某种方式告诉链接器这个长度的地址已被占用,不应该被触及。

无论如何,我想你明白了。有什么帮助吗?

c c++ embedded linker

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

将样式化的组件样式应用于第三方组件

我正在学习反应,因此我开始使用styled-componentsreact-router dom

但是我面临困难,无法将自定义样式的组件应用于我自己创建的现有组件。

这是代码:

import React from "react";
import { NavLink } from "react-router-dom";
import styled from "styled-components";

const NavStyle = styled.div`
  color: red;
  margin: 10px;
`;

const Navigation = () => {
  return (
    <div>
      <NavStyle>
        <NavLink to="/">Home</NavLink>
      </NavStyle>
      <NavLink to="/about">About</NavLink>
      <NavLink to="/contact">Contact</NavLink>
    </div>
  );
};

export default Navigation;
Run Code Online (Sandbox Code Playgroud)

问题是color: red没有应用,但是margin: 10px在视图中应用了。这样吗

reactjs styled-components react-router-dom

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

根据 Typescript 中的另一个函数参数使函数参数成为必需/可选

我是打字稿的新手,并试图实现对接受第三个参数作为可选参数的函数的类型检查。然后根据另一个函数参数,使用或不使用第三个参数。

我将其设为可选,但是:

  1. 我收到一个错误。
  2. 即使我没有收到错误,我想知道是否可以trailer根据另一个参数()切换该参数()上的必需/可选标志vehicleType

这是我为此场合准备的一个例子:

enum VehicleType {
  Car,
  Pickup
}

type Vehicle = {
  weight: number;
  length: number;
};

type Trailer = {
  weight: number;
  length: number;
};

function vehicle(
  vehicleType: VehicleType,
  vehicle: Vehicle,
  trailer?: Trailer
) {
  switch (vehicleType) {
    case VehicleType.Car:
      return `${vehicle.length} ${vehicle.weight}`;
    case VehicleType.Pickup:
      return `${vehicle.length + trailer.length} ${
        vehicle.weight + trailer?.weight
      }`;
  }
}
Run Code Online (Sandbox Code Playgroud)

对于这段代码,我得到了两次相同的错误:

对象可能是“未定义”的。对于trailer.对象

有没有办法强制编译器要求 iftrailer类型是Pickup,而不是当类型是 时Car

typescript

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

在 SQLite 和 Node.js 中将行插入表

我正在研究 Node.js 的 SQLite。目前我正处于起步阶段。我尝试将行插入表但出现错误。我使用的代码来自教程。

这是代码:

const sqlite3 = require('sqlite3').verbose();
let db = new sqlite3.Database('./database/sq-lite-data-base.db', (err) => {
	if(err) {
		return console.log(err.message);
	}
	console.log("Connected to database!")
});

// Create table named 'users' with two columns: 1 - 'name' which values to be of type "text",
// and "age" of type "integer"
// db.run('CREATE TABLE users(name text, age integer)'); //When this line is not connected I get different error: "The table users already exists"

// Insert two rows to table …
Run Code Online (Sandbox Code Playgroud)

javascript sqlite node.js

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

这两个陈述有什么区别?

int a = 5;
int b = 6;
int c;
Run Code Online (Sandbox Code Playgroud)

第一份声明:

c = a > b ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)

第二声明:

c = (a > b);
Run Code Online (Sandbox Code Playgroud)

上面两个有什么区别?

c

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

扩展名.c在C中代表什么?

我没有找到.cC语言中源文件扩展的含义.如果扩展名.h代表标题,那么.c代表什么?

c

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