Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


__declspec(selectany)

Postades av 2007-05-18 12:55:45 - Eric Henziger, i forum c++, Tråden har 15 Kommentarer och lästs av 1543 personer

Hej har ett problem med ett openGLexempel, använder Dev-C++ 4.9.9.2
Här är en del av koden:

Kod i main.cpp

/***************************************************************


 // för att lösa korsreferenser...
#define DECLARE __declspec(selectany)


DECLARE HDC hDC;
DECLARE	HWND hWnd;
DECLARE RECT Window;

DECLARE CDXInput Input;

DECLARE int width;			
DECLARE int height;		



Felen jag får på de rader där jag försöker deklarera något är:

C:\Docendo\Övningsfiler\Grundkod\3D\BasecodeGL\Main.h [Warning] `selectany' attribute directive ignored

Varför ignoreras mitt försök till korsreferenser? Någon som har en aning?


Svara

Sv: selectany-problem

Postades av 2007-05-18 13:15:17 - Niklas Jansson

Snälla, det här går ju inte att läsa.

Jag antar att du bara har klistrat in ett färdigt program och försökt kompilera det. Om det inte funkar så är det antingen felprogrammerat (osannolikt) eller så har du någonstans gjort fel inställningar, angett fel namn, etc. Och det är mer eller mindre omöjligt att svara på vad det kan vara för fel.

Det vettiga sättet att göra på är att börja med ett minimalt program, lägga till saker efter hand och hela tiden kompilera och testa för att se till att det är korrekt.


Svara

Sv:selectany-problem

Postades av 2007-05-19 23:51:25 - Eric Henziger

Nu är inlägget mer konkret hoppas jag. Förstår mig inte på declspec alls. :S


Svara

Sv: selectany-problem

Postades av 2007-05-20 16:38:22 - Niklas Jansson

[... borttaget pladder ... ]
Generellt bör man undvika preprocessor-direktiv. Det finns ett mycket litet antal anledningar kvar i C++.

Vad du menar med "korsreferenser" skulle väl kunna vara extern. Kolla upp nyckelordet "extern" om du inte känner till det. Och är det det du vill ha så bör du tänka om designen lite.

Skulle rekommendera att börja från grunden istället, börja med det minimala c++-programmet, bygg på till det minimala OpenGL-programmet osv.


EDIT:
Nej, nej. Jag har fel, och har tagit bort det värsta snacket där uppe.
Nu förstår jag vad poängen är.

Anledningen till att det inte funkar är helt enkelt att () tolkas som att du använder ett argument. Jag är tveksam till om man kan göra en sån deklaration, i så fall måste du nog escapa ( och ), men eftersom preprocessor-direktiv är något obsolete så är det inget jag kan svara på hur man gör på rak arm.

EDIT igen:
Fan vet förresten, det borde ju funka. Fungerar det om du inte använder det som ett #define?

Vad det nog handlar om är att du också måste göra en initiering i samband med att du deklarerar.


Svara

Sv:selectany-problem

Postades av 2007-05-20 18:22:21 - Eric Henziger

Tack för hjälpen, viss framgång men fortfarande får jag en uppsjö av fel.
Nu ser kodsnutten ut såhär:
<code>
//#define

35. DECLARE __declspec(selectany)
36.
37.
38.
39. DECLARE HDC hDC;
40. DECLARE HWND hWnd;
41. DECLARE RECT Window;

</code>

Nu får man inga attribut ignored varningar (Y) men många fel är kvar. Jag fick inte riktigt fix på det där med att initiera i samband med deklarationen, om det görs på rätt sätt kanske det kan fungera.

Några av felen:
39 C:\Docendo\Övningsfiler\Grundkod\3D\BasecodeGL\Main.h expected constructor, destructor, or type conversion before "DECLARE"

39 C:\Docendo\Övningsfiler\Grundkod\3D\BasecodeGL\Main.h expected `,' or `;' before "DECLARE"

40 C:\Docendo\Övningsfiler\Grundkod\3D\BasecodeGL\Main.h `DECLARE' does not name a type


Svara

Sv: selectany-problem

Postades av 2007-05-20 18:33:29 - Niklas Jansson

Lägg till en inittiering också?


Svara

Sv:selectany-problem

Postades av 2007-05-20 18:53:50 - Eric Henziger

Typ såhär?

DECLARE HDC hDC = NULL;


Svara

Sv: selectany-problem

Postades av 2007-05-20 21:44:00 - Niklas Jansson

Jepp, funkar inte det?


Svara

Sv:selectany-problem

Postades av 2007-05-20 21:55:42 - Eric Henziger

Nu ser koden ut såhär:
<code>
35. DECLARE __declspec(selectany)
36.
37.
38.
39. DECLARE HDC hDC = NULL;
40. DECLARE HWND hWnd = NULL;
41. DECLARE RECT Window = NULL;
</code>

Något är fel på rad 35, jag har ingen aning om vad men inget semi-kolon eller klammer tycks hjälpa när jag exprimenterat lite.

Fel:
39 C:\Docendo\Övningsfiler\Grundkod\3D\BasecodeGL\Main.h expected constructor, destructor, or type conversion before "DECLARE"

39 C:\Docendo\Övningsfiler\Grundkod\3D\BasecodeGL\Main.h expected `,' or `;' before "DECLARE"

40 C:\Docendo\Övningsfiler\Grundkod\3D\BasecodeGL\Main.h `DECLARE' does not name a type
41 C:\Docendo\Övningsfiler\Grundkod\3D\BasecodeGL\Main.h `DECLARE' does not name a type
m.m.


Svara

Sv: selectany-problem

Postades av 2007-05-21 08:24:48 - Niklas Jansson

Ja, du måste ju fortfarande göra den till en #define;
#define DECLARE __declspec(selectany)


Svara

Sv:selectany-problem

Postades av 2007-05-21 15:54:48 - Eric Henziger

Shär då:

#define DECLARE __declspec(selectany)


DECLARE HDC hDC = NULL;
DECLARE HWND hWnd = NULL;
DECLARE RECT Window = NULL;

Det här fungerar inte trots initialiseringen, som tidigare så är "`selectany' attribute directive ignored"

Knepigt, knepigt


Svara

Sv: selectany-problem

Postades av 2007-05-21 17:19:41 - Niklas Jansson

Ja, naturligtvis... jag är ju bra fånig. Det är specifikt för MS Visual C++, alltså kommer det inte funka i mingw (kompilatorn som följer med dev-c++).

Vet du exakt vad selectany gör?

Annars skulle jag rekommendera dig att köra utan det och istället använda dig av extern som man gör enligt standarden.


Svara

Sv:selectany-problem

Postades av 2007-05-21 18:18:42 - Eric Henziger

Jag vet inte alls exakt vad selectany gör.
Låter som att det blir till å använda extern, hur kan det tänkas funka?

typ:

extern HDC hDC;


Svara

Sv: selectany-problem

Postades av 2007-05-21 19:32:55 - Simon Dahlbacka

eftersom ingen tycks kunna googla, så här är länken till vad selectany gör http://msdn2.microsoft.com/en-us/library/5tkz6s71(VS.80).aspx

(iofs blev jag inte speciellt mycket klokare av den men...)


Svara

Sv:selectany-problem

Postades av 2007-05-21 19:41:58 - Eric Henziger

Man orkar inte googla när man bara får massa värdelösa träffa, t.ex. länken där :P
Dock så gör det inte så mycket; extern funkade bra så nu är det bara andra fel som återstår som inte har någonting med selectany att göra, så det får bli en annan tråd.


Svara

Sv:selectany-problem

Postades av 2007-05-21 21:59:40 - Niklas Jansson

Jo, då den har jag allt kikat på. Men kombinationen MS-specifikt, rörig förklaring, och inte uppenbar nytta i den här frågan gjorde att jag inte valde att kolla mer på det.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 153
27 952
271 704
807
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies